将 springboot war 文件上传到 Weblogic 12.2.1.3 服务器时出错 [英] Error while uploading springboot war file to Weblogic 12.2.1.3 server

查看:70
本文介绍了将 springboot war 文件上传到 Weblogic 12.2.1.3 服务器时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 maven 创建了一个 springboot 项目的战争,并做了一些更改以在 weblogic 上部署相同的项目.当我将 war 文件上传到 weblogic 服务器时,它的抛出错误如下面的屏幕截图所示.我还添加了我的项目的配置详细信息.你能帮我解决这个问题吗.

Spring Boot 主类

<预><代码>导入 org.springframework.boot.SpringApplication;导入 org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication公共类 DemoWeblogicWarApplication {公共静态无效主(字符串 [] args){SpringApplication.run(DemoWeblogicWarApplication.class, args);}}

Servlet 初始化器类

package com.example.demoWeblogicWar;导入 org.springframework.boot.builder.SpringApplicationBuilder;导入 org.springframework.boot.web.servlet.support.SpringBootServletInitializer;导入 org.springframework.web.WebApplicationInitializer;公共类 ServletInitializer 扩展 SpringBootServletInitializer 实现 WebApplicationInitializer{@覆盖受保护的 SpringApplicationBuilder 配置(SpringApplicationBuilder 应用程序){返回 application.sources(DemoWeblogicWarApplication.class);}}

weblogic.xml

<wls:weblogic-web-appxmlns: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-apphttp://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd><wls:context-root>/myweb</wls:context-root><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:weblogic-web-app>

dispatcherServlet-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans";xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd></豆类>

pom.xml

<预><代码><?xml version="1.0";编码=UTF-8"?><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><父母><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.0</version><relativePath/><!-- 从存储库中查找父级 --></父母><groupId>com.example</groupId><artifactId>demoWeblogicWar</artifactId><version>0.0.1-SNAPSHOT</version><包装>战争</包装><name>demoWeblogicWar</name><description>Spring Boot 的演示项目</description><属性><java.version>1.8</java.version></属性><依赖项><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><范围>提供</范围></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><范围>测试</范围></依赖></依赖项><构建><插件><插件><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></插件></plugins></build></项目>

解决方案

这是一个使用 weblogic 12.2.1.3 的工作示例.使用 WebLogic 是痛苦的.请按照所有步骤操作并发布 WebLogic 控制台日志,以防出现任何错误.

  • 源树

  • pom.xml

     <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><父母><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.0</version><relativePath/><!-- 从存储库中查找父级 --></父母><groupId>com.springboot-wls12c</groupId><artifactId>演示</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Spring Boot 的演示项目</description><包装>战争</包装><属性><java.version>1.8</java.version><log4j2.version>2.8.2</log4j2.version></属性><依赖项><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><排除事项><排除><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></排除><排除><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></排除></排除项></依赖><!--日志记录--><依赖><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></依赖><!-- 按照提供的方式添加以下依赖项--><!--开始--><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><范围>提供</范围></依赖><!--END--><!--添加以下依赖项以强制其成为 WAR 的一部分--><!--开始--><依赖><groupId>com.google.guava</groupId><artifactId>番石榴</artifactId><version>20.0</version></依赖><依赖><groupId>com.fasterxml</groupId><artifactId>同学</artifactId><version>1.3.4</version></依赖><依赖><groupId>org.hibernate</groupId><artifactId>hibernate-envers</artifactId></依赖><依赖><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>2.0.1.Final</version></依赖><依赖><groupId>javax.el</groupId><artifactId>javax.el-api</artifactId><version>3.0.0</version></依赖><依赖><groupId>org.eclipse.persistence</groupId><artifactId>javax.persistence</artifactId><version>2.1.1</version></依赖><!-- 添加Log4j2依赖--><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></依赖><!--END--><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><范围>测试</范围></依赖></依赖项><构建><插件><插件><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></插件></plugins></build></项目>

  • DemoApplication.java

 包 com.springboot.wls12c;导入 org.springframework.boot.SpringApplication;导入 org.springframework.boot.autoconfigure.SpringBootApplication;导入 org.springframework.boot.builder.SpringApplicationBuilder;进口org.springframework.boot.web.servlet.support.SpringBootServletInitializer;导入 org.springframework.web.WebApplicationInitializer;@SpringBootApplication公共类 DemoApplication 扩展了 SpringBootServletInitializer实现 WebApplicationInitializer {public static void main(final String[] args) {SpringApplication.run(DemoApplication.class, args);}@覆盖受保护的 SpringApplicationBuilder 配置(最终SpringApplicationBuilder 应用程序) {返回 application.sources(DemoApplication.class);}}

  • HelloWorldController.java
<预><代码>包 com.springboot.wls12c;导入 org.springframework.web.bind.annotation.RequestMapping;导入 org.springframework.web.bind.annotation.RequestMethod;导入 org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/资源")公共类 HelloWorldController {@RequestMapping(method = RequestMethod.GET)字符串读取资源(){return "Hello World!!";}}

  • weblogic.xml
<预><代码><wls:weblogic-web-appxmlns: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-apphttp://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd><wls:container-descriptor><wls:prefer-application-packages><wls:package-name>org.springframework.*</wls:package-name><wls:package-name>com.google.*</wls:package-name><wls:package-name>antlr.*</wls:package-name><wls:package-name>org.dom4j.*</wls:package-name><wls:package-name>org.hibernate.annotations.common.*</wls:package-name><wls:package-name>org.hibernate.*</wls:package-name><wls:package-name>com.fasterxml.classmate.*</wls:package-name><wls:package-name>javax.validation.*</wls:package-name><wls:package-name>javax.el.*</wls:package-name><wls:package-name>javax.persistence.*</wls:package-name><wls:package-name>org.slf4j.*</wls:package-name><wls:package-name>javassist.*</wls:package-name></wls:prefer-application-packages><wls:prefer-application-resources><wls:resource-name>META-INF/services/javax.persistence.spi.PersistenceProvider</wls:resource-name><wls:resource-name>META-INF/services/javax.validation.spi.ValidationProvider</wls:resource-name><wls:resource-name>META-INF/services/javax.annotation.processing.Processor</wls:resource-name></wls:prefer-application-resources></wls:container-descriptor></wls:weblogic-web-app>

  • 部署

  • 测试

I have created a war of springboot project using maven and did some changes to deploy the same on weblogic. While I am uploading the war file to weblogic server its throwing error as shown in screenshot below. I have added configuration details of my project as well. Can you please help me to resolve this.

Spring boot main class


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoWeblogicWarApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoWeblogicWarApplication.class, args);
    }

}

Servlet Initializer class

package com.example.demoWeblogicWar;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.WebApplicationInitializer;

public class ServletInitializer extends SpringBootServletInitializer implements WebApplicationInitializer{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoWeblogicWarApplication.class);
    }

}

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:context-root>/myweb</wls:context-root>
    <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:weblogic-web-app>

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>

pom.xml


<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demoWeblogicWar</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>demoWeblogicWar</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

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

</project>

解决方案

Here is a working example with weblogic 12.2.1.3. It is painful to work with WebLogic. Please follow all steps and post WebLogic console logs in case of any errors.

  • Source Tree

  • pom.xml

     <?xml version="1.0" encoding="UTF-8"?>
     <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>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.4.0</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.springboot-wls12c</groupId>
     <artifactId>demo</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <name>demo</name>
     <description>Demo project for Spring Boot</description>
     <packaging>war</packaging>
    
     <properties>
         <java.version>1.8</java.version>
         <log4j2.version>2.8.2</log4j2.version>
     </properties>
    
     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-logging</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-tomcat</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
         <!--Logging-->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
             <version>1.7.25</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-log4j2</artifactId>
         </dependency>
    
         <!-- Add following depedency as provided -->
         <!--START-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-tomcat</artifactId>
             <scope>provided</scope>
         </dependency>
         <!--END-->
    
         <!--Add Following dependencies to force it to be part of WAR-->
         <!--START-->
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>20.0</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml</groupId>
             <artifactId>classmate</artifactId>
             <version>1.3.4</version>
         </dependency>
         <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>hibernate-envers</artifactId>
         </dependency>
         <dependency>
             <groupId>javax.validation</groupId>
             <artifactId>validation-api</artifactId>
             <version>2.0.1.Final</version>
         </dependency>
         <dependency>
             <groupId>javax.el</groupId>
             <artifactId>javax.el-api</artifactId>
             <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.persistence</groupId>
             <artifactId>javax.persistence</artifactId>
             <version>2.1.1</version>
         </dependency>
         <!-- Add Log4j2 Dependency -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-log4j2</artifactId>
         </dependency>
         <!--END-->
    
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
    
     <build>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
    </project>
    

  • DemoApplication.java

    package com.springboot.wls12c;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import 
     org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    import org.springframework.web.WebApplicationInitializer;
    
    @SpringBootApplication
    public class DemoApplication extends SpringBootServletInitializer
            implements WebApplicationInitializer {
    
        public static void main(final String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(final 
        SpringApplicationBuilder application) {
            return application.sources(DemoApplication.class);
        }
    }

  • HelloWorldController.java


    package com.springboot.wls12c;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/resource")
    public class HelloWorldController {
    
        @RequestMapping(method = RequestMethod.GET)
        String readResource() {
            return "Hello World!!";
        }
    }

  • weblogic.xml


    <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.springframework.*</wls:package-name>
                <wls:package-name>com.google.*</wls:package-name>
                <wls:package-name>antlr.*</wls:package-name>
                <wls:package-name>org.dom4j.*</wls:package-name>
                <wls:package-name>org.hibernate.annotations.common.*</wls:package-name>
                <wls:package-name>org.hibernate.*</wls:package-name>
                <wls:package-name>com.fasterxml.classmate.*</wls:package-name>
                <wls:package-name>javax.validation.*</wls:package-name>
                <wls:package-name>javax.el.*</wls:package-name>
                <wls:package-name>javax.persistence.*</wls:package-name>
                <wls:package-name>org.slf4j.*</wls:package-name>
                <wls:package-name>javassist.*</wls:package-name>
            </wls:prefer-application-packages>
            <wls:prefer-application-resources>
                <wls:resource-name>META-INF/services/javax.persistence.spi.PersistenceProvider</wls:resource-name>
                <wls:resource-name>META-INF/services/javax.validation.spi.ValidationProvider</wls:resource-name>
                <wls:resource-name>META-INF/services/javax.annotation.processing.Processor</wls:resource-name>
            </wls:prefer-application-resources>
        </wls:container-descriptor>
    </wls:weblogic-web-app>

  • Deploy

  • Test

这篇关于将 springboot war 文件上传到 Weblogic 12.2.1.3 服务器时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆