Vous êtes sur la page 1sur 4

Preparar Spring boot 2 para weblogic 12c

Ejemplo de aplicación : pagoProveedores

1. Modificar la clase de inicio, de tal forma que quede asi: agregar lo que falta
@SpringBootApplication
//@MapperScan("com.hermes.pagoProveedores.mapperDao") no va
public class PagoProveedoresApplication extends SpringBootServletInitializer implements
WebApplicationInitializer {

public static void main(String[] args) {


//cambiando el nombre del contexto: tambien el archivo weblogic.xml
/*
*Prioridad:
Java Config
Command Line Arguments
Java System Properties
OS Environment Variables
application.properties in Current Directory
application.properties in the classpath (src/main/resources or the packaged jar file)
*
* */
System.setProperty("server.servlet.context-path", "/pagoProveedoresConsulta");

ApplicationContext contexto = SpringApplication.run(PagoProveedoresApplication.class, args);


}

//cambio para weblogic 12c


@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(PagoProveedoresApplication.class);
}
}

2. Modificar el pom para que genere un war: cambiar jar por war

<groupId>com.hermes</groupId>
<artifactId>pagoProveedoresConsulta</artifactId>
<version>1.0</version>
<!--cambio para web logic 12c-->
<packaging>war</packaging>

3. Modificar el POM para que el tomcat embebido se inhiba: agregar lo siguiente, se debe agregar la
dependencia javax.servlet pero en scope “provided”

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<!-- We need to include the javax.servlet API specs, the implementation


will be provided by Weblogic
https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>

...

</dependencies>
4. Modificar el POM : modificar el plugin de maven de tal forma que quede asi

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<!--cambio para weblogic 12c-->


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifest>

<addDefaultImplementationEntries>false</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>

</plugins>
</build>

5. Cambiar el nombre del war: modificar el POM agregar el tag <finalName>

<build>
<!--Nombre del war:-->
<finalName>pagoProveedoresConsulta</finalName>

<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<!--cambio para weblogic 12c-->


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifest>

<addDefaultImplementationEntries>false</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>

</plugins>
</build>
6. Crear el archivo weblogic.xml file specifying the context root and the packages which should have
precedence: (make sure to add it in the src/main/webapp/WEB-INF folder)

Arvhivo weblogic.xml, observe como establecemos el nombre del contexto

<?xml version="1.0" encoding="UTF-8"?>


<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:context-root>/pagoProveedoresConsulta</wls:context-root>
<wls:container-descriptor>
<wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
<wls:prefer-application-packages>
<wls:package-name>org.slf4j.*</wls:package-name>
<wls:package-name>org.springframework.*</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>

7. Crear el archivo de configuración de Spring vacio: Add another almost empty xml file (in our case called
dispatcherServlet-servlet.xml):

<?xml version="1.0" encoding="UTF-8"?>


<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
8. Si se va configurar datasource: crear el datasource en weblogic 12c, modificar el application.properties del
proyecto: comentar cualquier otro datasoruce
##Oracle weblogic 12c:
##DataSource : pagoProveedorDS
spring.datasource.jndi-name=pagoProveedorDS

9. Via maven hacer


mvn clean
mvn compile
mvn install

10. Desplegar en Weblogic 12c