weblogic10.3.1部署spring boot1.5.17

springboot 项目在tomcat里部署正常,可是部署到weblogic里,能访问jsp,但是不加载ApplicationListener实现类……

1.首先在WEB-INF下添加web.xml,代码如下:




	
		contextConfigLocation
        
		com.mofit.account.divide.NontaxAccountDivideApplication
	

	
		org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
	

	
	
		appServlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextAttribute
			org.springframework.web.context.WebApplicationContext.ROOT
		
		1
	

	
		appServlet
		/
	


2.在WEB-INF下新建weblogic.xml,代码如下:

  
 
    
      
         true  
    
     share  

如果不创建weblogic.xml,部署到weblogic上会找不到war包所依赖的lib,上面的xml告诉weblogic优先使用war包里的WEB-INF\lib里的jar。创建weblogic.xml要注意xml里的dtd声明,不同的weblogic版本,内容不一样。否则报验证xml错误。如problem: cvc-complex-type.2.3: Element 'container-descriptor@http://xmlns.oracle.com/weblogic/weblogic-web-app' with element-only content type cannot have text content.:

3.在pom.xml里添加weblogic启动时的依赖包,如下:


    org.springframework.boot
    spring-boot-legacy
    1.1.0.RELEASE


    javax.servlet
    javax.servlet-api
    3.0.1

4.我的项目使用的jdk1.7编译,weblogic10.3.1默认使用的jdk为1.6,需要修改weblogic的jdk,否则报class版本异常。需要修改2个文件,分别是C:\Oracle\Middleware\wlserver_10.3\common\bin\commEnv.cmd,和C:\Oracle\Middleware\user_projects\domains\base_domain\bin\setDomainEnv.cmd。其中commEnv.cmd,修改地方如下图:

setDomainEnv.cmd修改的地方如下图:

该文件一共修改2个地方 。

5.修改完后,重新clean,build,使用eclipse导出war包,部署到weblogic即可看到ApplicationListener实现类里的info日志,部署成功。

6.大家在部署的时候如果遇到什么问题,欢迎随时留言讨论。

 

 

 

你可能感兴趣的:(java)