Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.
Comentarios: Reverted from v. 22

...

    1. Sustituir la etiqueta <parent> completa por:

      Bloque de código
      languagexml
      	<parent>
      		<groupId>es.um.atica</groupId>
      		<artifactId>fundewebjs-api-parent</artifactId>
      		<version>1.0.3</version>
      		<relativePath>../pom.xml</relativePath>
      	</parent>


    2.  En la etiqueta groupId de la aplicación, añadir "fundewebjs" a "<groupId>es.um.atica</groupId>". Por ejemplo, para la aplicación api-base quedaría:

      Bloque de código
      languagexml
      	<groupId>es.um.atica.fundewebjs</groupId>
      	<artifactId>api-base</artifactId>


    3. En la etiqueta <properties> dejar las siguientes:

      Bloque de código
      languagexml
       	<properties>
      		<java.version>11</java.version>
      		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      	</properties>

      Si la aplicación tenía otras propiedades configuradas, habrá que valorar si siguen siendo necesarias teniendo en cuenta que la mayoría de las dependencias y versiones están fijadas por la librería fundewebjs-spring-boot-starter .
      Se recomienda quitarlas todas e ir añadiendo posteriormente solo las necesarias cuando se traten las dependencias en el apartado e .

      Advertencia

      (menos) NUNCA deben configurarse las propiedades de versiones de spring-boot o spring-cloud . (menos)


    4. Si existe la etiqueta <dependencyManagement> sustituir por el siguiente código. Si no existe, añadirla:

      Bloque de código
      languagexml
      	<dependencyManagement>
      		<dependencies>
      			<dependency>
      				<groupId>org.springframework.boot</groupId>
      				<artifactId>spring-boot-dependencies</artifactId>
      				<version>${spring-boot.version}</version>
      				<type>pom</type>
      				<scope>import</scope>
      			</dependency>
      		</dependencies>
      	</dependencyManagement>


      Como se ha mencionado en el apartado anterior, la mayoría de dependencias necesarias vienen ya incluidas con fundewebjs-spring-boot-starter.

      Si nuestro pom.xml incluía en dependencyManagement la dependencia bom de spring-cloud (spring-cloud-dependencies), se recomienda eliminarla y terminar la configuración del pom.xml.

      Si finalmente fuera necesario, se puede incluir el bom de spring-cloud dentro de dependencyManagement exactamente así:

      Bloque de código
      languagexml
      	<dependency>
      		<groupId>org.springframework.cloud</groupId>
      		<artifactId>spring-cloud-dependencies</artifactId>
      		<version>${spring-cloud.version}</version>
      		<type>pom</type>
      		<scope>import</scope>
      	</dependency>



    5. En la etiqueta <dependencies> la mayoría de las dependencias ya no van a ser necesarias.
      Se recomienda copiar todas las dependencias a un fichero .txt aparte y sustituir toda la etiqueta por:

      Bloque de código
      languagexml
      	<dependencies>
      		<dependency>
      			<groupId>es.um.atica</groupId>
      			<artifactId>fundewebjs-spring-boot-starter</artifactId>
      		</dependency>
      	</dependencies>


      Esta dependenciafundewebjs-spring-boot-starter engloba todas las librerías necesarias para trabajar con una aplicación FundeWebJS estándar.

      Con la vista Dependency Hierarchy  (o con Effective pom) del fichero pom.xml podemos tener una visión global de todas las librerías importadas por fundewebjs-spring-boot-starter y comparar con las que teníamos configuradas.



      Después de este cambio se aconseja realizar un maven update project con force.
      Si hay errores en el código, se recomienda revisar el fichero .txt con las dependencias antiguas y añadir la que sea necesaria.

      Si aparece una ventana de error de eclipse al hacer build, pinchar con el botón derecho en el proyecto => Properties => Builders => Deshabilitar CDI (Contexts and Dependency Injection) Builder y aplicar.



      Advertencia

      Si se usaban librerías de FundeWebJS antes de la migración, hay que modificar el groupId de la dependencia estableciéndolo siempre a "es.um.atica.fundewebjs" y quitar la versión.

      Por ejemplo:

      Bloque de código
      languagexml
      <!-- ANTES DE LA MIGRACIÓN -->
      <dependency>
      	<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
      	<artifactId>fundewebjs-session</artifactId>
      	<version>${fdwjs.version}</version>
      </dependency>
      
      <!-- DESPUÉS DE LA MIGRACIÓN -->
      <dependency>
             <groupId>es.um.atica.fundewebjs</groupId>
             <artifactId>fundewebjs-session</artifactId>
      </dependency>




      Info

      Este es el apartado más complicado de la migración, en caso de dudas sobre las librerías poner Jira a DJ-AT-MNCS como se indica al final de esta guía.



      Advertencia

      Si se realizan test con base de datos en memoria H2 es necesario añadir la siguiente dependencia:

      Bloque de código
      languagexml
      	<!-- Test DB -->
      	<dependency>
      	   	<groupId>com.h2database</groupId>
      		<artifactId>h2</artifactId>
      		<scope>test</scope>
      	</dependency>





    6. En la etiqueta <build> configurar los siguientes plugins:

      Bloque de código
      languagexml
         	<build>
      		<plugins>
      			<plugin>
      				<groupId>org.hibernate.orm.tooling</groupId>
      				<artifactId>hibernate-enhance-maven-plugin</artifactId>
      			</plugin>
      			<plugin>
      				<groupId>org.jacoco</groupId>
      				<artifactId>jacoco-maven-plugin</artifactId>
      			</plugin>
      			<plugin>
      				<groupId>org.springframework.boot</groupId>
      				<artifactId>spring-boot-maven-plugin</artifactId>
      			</plugin>
      		</plugins>
      	</build>


      Info

      Si el plugin para generar clientes SOAP estaba configurado, <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId>, hay que mantenerlo configurado tal cuál estaba.


    7. En la etiqueta <repositories> configurar el repositorio de archiva de fundewebjs:

      Bloque de código
      languagexml
      	<repositories>
      		<repository>
      			<id>fundewebjs-archiva</id>
      			<name>ATICA - UMU Repository - FundeWebJS</name>
      			<url>https://archiva.um.es/archiva/repository/FundeWebJS/</url>
      		</repository>
      	</repositories>


    8. Una vez realizados estos pasos, realizar un maven update project con la casilla Force Update of Snapshots/Releases marcada.

      Ejemplo de pom.xml migrado:

      Bloque de código
      languagexml
      themeEclipse
      firstline1
      titleEjemplo pom.xml
      linenumberstrue
      collapsetrue
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
      	<modelVersion>4.0.0</modelVersion>
      	<parent>
      		<groupId>es.um.atica</groupId>
      		<artifactId>fundewebjs-api-parent</artifactId>
      		<version>1.0.3</version>
      		<relativePath>../pom.xml</relativePath>
      	</parent>
      
      	<groupId>es.um.atica.fundewebjs</groupId>
      	<artifactId>acade-api-certificados</artifactId>
      	<version>0.0.1-SNAPSHOT</version>
      	<name>acade-api-api</name>
      	<description>Acade API Certificados</description>
         
         	<properties>
      		<java.version>11</java.version>
      		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      	</properties>
         
      	<dependencyManagement>
      		<dependencies>
      			<dependency>
      				<groupId>org.springframework.boot</groupId>
      				<artifactId>spring-boot-dependencies</artifactId>
      				<version>${spring-boot.version}</version>
      				<type>pom</type>
      				<scope>import</scope>
      			</dependency>
      		</dependencies>
      	</dependencyManagement>
      	
      	<dependencies>
      		<dependency>
      			<groupId>es.um.atica</groupId>
      			<artifactId>fundewebjs-spring-boot-starter</artifactId>
      		</dependency>
      	</dependencies>
      
      	<repositories>
      		<repository>
      			<id>fundewebjs-archiva</id>
      			<name>ATICA - UMU Repository - FundeWebJS</name>
      			<url>https://archiva.um.es/archiva/repository/FundeWebJS/</url>
      		</repository>
      	</repositories>
      
      	<build>
      		<plugins>
      			<plugin>
      				<groupId>org.hibernate.orm.tooling</groupId>
      				<artifactId>hibernate-enhance-maven-plugin</artifactId>
      			</plugin>
      			<plugin>
      				<groupId>org.jacoco</groupId>
      				<artifactId>jacoco-maven-plugin</artifactId>
      			</plugin>
      			<plugin>
      				<groupId>org.springframework.boot</groupId>
      				<artifactId>spring-boot-maven-plugin</artifactId>
      			</plugin>
      
      			<!-- SOAP -->
      			<plugin>
      				<groupId>org.jvnet.jaxb2.maven2</groupId>
      				<artifactId>maven-jaxb2-plugin</artifactId>
      				<version>0.14.0</version>
      				<executions>
      					<execution>
      						<goals>
      							<goal>generate</goal>
      						</goals>
      					</execution>
      				</executions>
      				<configuration>
      					<args>
      						<arg>-XautoNameResolution</arg>
      					</args>
      					<schemaLanguage>WSDL</schemaLanguage>
      					<generateDirectory>${project.basedir}/src/main/java</generateDirectory>
      					<generatePackage>es.um.atica.acade-api.soap.gen</generatePackage>
      					<schemaDirectory>${project.basedir}/src/main/resources/wsdl</schemaDirectory>
      					<schemaIncludes>
      						<include>ServicioRegistroUMU.wsdl</include>
      					</schemaIncludes>
      				</configuration>
      			</plugin>
      		</plugins>
      	</build>
      </project>


...

Info

Esta configuración es SÓLO para trabajar en local. En Helm Chart no hay que realizar ningún cambio.


...

Dudas y soporte

Si se tiene alguna duda o problema siguiendo esta página, poner Jira a:

...