解决weblogic部署springboot项目步骤及可能会出现的问题

 更新时间:2021年07月30日 09:18:16   作者:没有故事_不谈过往  
这篇文章主要介绍了解决weblogic部署springboot项目步骤及可能会出现的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

项目为springboot的需要适配weblogic

第一步

修改启动类, 很多搜到的都是这样

修改启动类StartEPassApplication

在这里插入图片描述

第二步

完全排除掉tomcat

详情请看下面的地址

完全排除springboot的tomcat还需加上weblogic.xml

<?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:container-descriptor>
    <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:context-root>/xxx</wls:context-root>
</wls:weblogic-web-app>

到这里修改基本完成,但是本人在部署时还需到两个棘手的问题:

@swagger2注解与weblogic的兼容问题没有解决

描述:开启@swagger2注解,项目安装失败。

在这里插入图片描述

有知道的老哥麻烦留言一下,这里还未解决

项目上传文件失败,同样代码在tomcat中能完美运行

在weblogic中相同的东西传递过来就是null,导致功能失效。到处找方案,看到可能是因为编码问题或者资源路径问题导致。不断尝试找到办法。

-解决办法:完善weblogic.xml完美解决

<?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:container-descriptor>
    <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:charset-params>
        <wls:input-charset>
            <wls:resource-path>/*</wls:resource-path>
            <wls:java-charset-name>UTF-8</wls:java-charset-name>
        </wls:input-charset>
    </wls:charset-params>
<wls:context-root>/xxx</wls:context-root>
</wls:weblogic-web-app>

SpringBoot项目部署在weblogic中间件注意事项

1、SpringBoot项目Tomcat部署无需手动配置web.xml

但是使用weblogic部署项目时需配置所有相关的监听器和过滤器等。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>com.cebbank.CebbankLoansMeetingApplication</param-value>
	</context-param>
 
	<listener>
		<listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class>
	</listener>
 
	<listener>
		<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
	</listener>
 
	<filter>
		<filter-name>characterEncoding</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>characterEncoding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- <filter>
		<filter-name>metricFilter</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>metricFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping> -->
 
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextAttribute</param-name>
			<param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
 
</web-app>

2、只配置web.xml配置文件

部署在weblogic上会失败,需另外配置一个weblogic.xml文件(跟web.xml在同一目录)

<?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://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
        http://xmlns.oracle.com/weblogic/weblogic-web-app
        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
    <wls:container-descriptor>
        <wls:prefer-application-packages>   
            <wls:package-name>org.slf4j</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
     <wls:context-root>/</wls:context-root>
     <wls:virtual-directory-mapping>
     		<wls:local-path>d:/</wls:local-path>
     	 	<wls:url-pattern>/recordings/*</wls:url-pattern>
     </wls:virtual-directory-mapping>
</wls:weblogic-web-app> 

注意:<wls:virtual-directory-mapping>为虚拟目录相关配置,可用来保存上传的资源,可作为静态资源直接访问

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Http协议以及post与get区别

    详解Http协议以及post与get区别

    这篇文章主要介绍了详解Http协议以及post与get区别,通过分别说明Http协议以及get与post各自的概念,再到两者作比较有着详细的说明,希望对你有所帮助
    2021-06-06
  • Java图形化界面设计之容器(JFrame)详解

    Java图形化界面设计之容器(JFrame)详解

    这篇文章主要介绍了Java图形化界面设计之容器(JFrame)详解,条理清晰,依次介绍了Java基本类(JFC),AWT和Swing的区别,Swing基本框架,图形化设计步骤以及组件容器的使用等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • nacos配置在代码中引用的方法讲解

    nacos配置在代码中引用的方法讲解

    这篇文章主要介绍了nacos配置在代码中如何引用,如果主配置中配置的内容和拓展配置的内容重复则按主配置的配置 ,如果拓展配置中的内容和另一个拓展配置中的内容重复,则按下标大的配置作为最终的配置,对nacos配置代码引用相关知识感兴趣朋友一起看看吧
    2022-12-12
  • 详解static 和 final 和 static final区别

    详解static 和 final 和 static final区别

    这篇文章主要介绍了static 和 final 和 static final区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • java迭代器原理及迭代map的四种方式

    java迭代器原理及迭代map的四种方式

    本文我们将了解一下java迭代器原理及其在Java中迭代Map各种不同方法。具有一定的参考价值,感兴趣的可以了解一下
    2021-09-09
  • 教你怎么用Java实现给图片打上水印

    教你怎么用Java实现给图片打上水印

    这篇文章主要介绍了教你怎么用Java实现给图片打上水印,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • 详解Java中Quartz的简单使用

    详解Java中Quartz的简单使用

    Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中。这篇文章主要通过示例和大家讲讲Quartz的简单使用,需要的可以参考一下
    2023-04-04
  • Java网络通信中ServerSocket的设计优化方案

    Java网络通信中ServerSocket的设计优化方案

    今天小编就为大家分享一篇关于Java网络通信中ServerSocket的设计优化方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Java之map的常见用法讲解与五种循环遍历实例代码理解

    Java之map的常见用法讲解与五种循环遍历实例代码理解

    map是一组键值对的组合,通俗理解类似一种特殊的数组,a[key]=val,只不过数组元素的下标是任意一种类型,而且数组的元素的值也是任意一种类型。有点类似python中的字典。通过"键"来取值,类似生活中的字典,已知索引,来查看对应的信息
    2021-09-09
  • java实现文件重命名的方法

    java实现文件重命名的方法

    这篇文章主要介绍了java实现文件重命名的方法,涉及java针对文件的重命名操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论