miércoles, 1 de junio de 2022

Clave 2.0 Java (1) Instalar el proyecto de prueba

1. Preinstalación

1. Descargar el proyecto de prueba

Vamos a la PAE y descargamos el "Paquete de integracion Java 8" del 19/5/2022

2. Creamos un Workspace (WS_CLAVE) y dentro de él, una carpeta (Por ejemplo SP2 que es el "artifactId" que se indica en el pom.xml) dentro de un Workspace Java 

3. Abrimos el fichero zip descargado y copiamios el contenido de  "Paquete_Integracion_Java_Clave_2_0" dentro de esa carpeta


4. Ahora desde Eclipse importamos (File - Import -Maven - Existing Maven Projects) Y le indicamos la carpeta SP2

5. Una vez importado , hay que seleccionar el Java 1.8 en Eclipse

6.a. Establecemos la variable de entorno CLAVE_SP2_CONFIG_REPOSITORY que apunte donde se encuentra la carpeta Config. En este caso es: /home/ximo/MyWorkspaces/WS_CLAVE/SP2/Config/. Para ello editamos el fichero ~/.profile y le añadimos esta línea

export CLAVE_SP2_CONFIG_REPOSITORY="$HOME/MyWorkspaces/WS_CLAVE/SP2/Config/"

Para asegurar que ha cogido las variables de entorno, en una ventana de shell escribimos

source ~/.profile

NOTA: Para no tener problemas con la localización de la carpeta "Config", se podría copiar dicha carpeta a un ruta que no dependiera del proyecto como /home/ximo/CLAVE20_CONF, de esta manera si quisiéramos tener una segunda versión del proyecto, no tendríamos que tocar nada.


6.b. Alternativamente a la opción a), podemos modificar el fichero src/main/resources/spEnvironmentContext y cambiar

<constructor-arg value="#{ systemProperties['CLAVE_SP2_CONFIG_REPOSITORY'] ?: systemEnvironment['CLAVE_SP2_CONFIG_REPOSITORY'] }" />

por

<constructor-arg value="/home/ximo/MyWorkspaces/WS_CLAVE/SP2/Config/" />

7. A veces puede dar problemas que no encuentra algunas dependencias que se enuentran en la carpeta local "Dependencias"; si es el caso hay que modificar el pom.xml, casi al final del archivo, en la zona de <repositories> pues es incapaz de encontrar las dependencias, para ello cambiamos 

<url>file://Dependencias</url>  por

<url>file://${project.basedir}/Dependencias  </url>


y guardamos el fichero pom.xml

7. Ahora clicamos con el boton derecho sobre el proyecto Maven - Update Project  y deberian de desaparecer los problemas de compilación

8. Abrir la ventana de Servers (si no esta hay que añadirla en Window -Show View -Other - Servers ) y añadir un servidor Tomcat 8.5 y en  

9. Clicamos con el boton derecho sobre el proyecto Run As - Run on Server, seleccionar el Tomcat 8.5 que hemos instalado y al menos arranca:

10. Comprobamos que tengamos esta estructura de ficheros



Y desde el sistema operativo


Ahora viene la parte difícil de entender lo que hace.

2. Posibles problemas (si no ha arrancado)

1. Si sale este error:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'placeholderConfig' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'securityConfigFileWithPath' while setting bean property 'locations' with key [0]; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1021E: A problem occurred whilst attempting to access the property 'spConfigRepository': 'Error creating bean with name 'spConfigRepository' defined in class path resource [spEnvironmentContext.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.lang.String]: Constructor threw exception; nested exception is java.lang.NullPointerException: Cannot invoke "java.lang.StringBuffer.toString()" because "buffer" is null'

Hay que vigilar en la "Console" a ver si aparece un a referencia a un JDK que no sea el 1.8

INFORMACIÓN: Java Home:                         /home/edu/MyPrograms/eclipse2022-03/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_17.0.2.v20220201-1208/jre

Como se puede ver hace referencia a java 17. Por tanto hay que arreglar el Java Build path para que apunte donde toca (jdk o jre 8).

2. Si sale este error:

org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: /home/edu/MyWorkspaces/WS_CLAVE/SP2/ConfigsecurityConf.xml (No existe el archivo o el directorio)

Es que nos hemos olvidado de de indicar en el punto 6.a o 6.b la barra final (/) del path
/home/ximo/MyWorkspaces/WS_CLAVE/SP2/Config/

A veces parece que está bien escrito la ruta anterior y no lo está. Vale la pena entrar en un navegador de archivos y copiar la ruta y pegarla. Estos errores dan mucha guerra y son difíciles de encontrar

No hay comentarios :

Publicar un comentario