当前位置: 首页 > 知识库问答 >
问题:

从 Spring 引导生成的战争文件未部署到 Weblogic 12c

龙星辰
2023-03-14

我正在使用Spring Boot(2.0.5.RELEASE)构建一个war文件以部署到weblogic 12c中。我遵循以下教程来做到这一点:

https://o7 planning . org/en/11901/deploying-spring-boot-application-on-Oracle-WebLogic-server

但无法在 weblogic 中部署(通过 weblogic 控制台),并出现以下错误:

Message icon - Error Unable to access the selected application.
Message icon - Error java.io.IOException
Message icon - Error weblogic.utils.compiler.ToolFailureException

并在管理服务器日志中观察到以下错误:

####<Oct 3, 2018 11:33:46 PM EDT> <Error> <J2EE> <wloki> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1538624026936> <BEA-160228> <AppMerge failed to merge your application. If you are running AppMerge on the command-line, merge again with the -verbose option for more details. See the error message(s) below.>

有人能帮我一下吗?

我的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.springBoot</groupId>
    <artifactId>DemoSpringBoot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>DemoSpringBoot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <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>

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://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: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>

ServletInitializer.java

package com.springboot;

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(DemoSpringBootApplication.class);
    }

}

演示SpringBootApplication.java

package com.springboot;

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

@SpringBootApplication
public class DemoSpringBootApplication {

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

如果我做错了什么,请告诉我,因为我无法在这方面取得进展。

谢谢。

共有2个答案

顾淳
2023-03-14

已经晚了,但对于那些需要它的人来说,这个问题可能是由于不同版本的 java 在编译代码之前检查您的java_home,就我而言,我已将其更改为 11-

鞠宏恺
2023-03-14

问题已解决。在pom.xml中添加以下属性后:

 <properties>
  ...
  <log4j2.version>2.8.2</log4j2.version>
  ...

现在可以部署到weblogic 12c。

 类似资料:
  • 我正在尝试将一个简单的JSF“hello world”应用程序部署到Jetty 9.3.11,并出现以下错误: war文件包含路径WEB-INF/lib/javax。面-2.2.1。jar有什么问题吗?

  • 我正在为我的Spring靴做战争包装。按规定制作spring boot starter tomcat,移除spring boot maven插件。 但我仍然可以看到TomcatJDBC和TomcatJuli,仅举几个例子(即使是junit,但也可能来自其他自定义依赖项,所以在这个问题上不考虑这一点)。我使用的是logback,但我在starter web上看到了slf4j上的log4j。 我能问一

  • 在尝试将相同的战争文件重新部署到野蝇中时,我总是遇到错误。有谁知道下面的错误是什么意思以及如何解决它? 错误如下:无法上载部署:{“WFLYCTL0080:失败的服务” =

  • 如何使war文件自动部署?服务器组件是glass乐于,数据库是在MySQL中创建的。我需要创建一个可执行文件来提取war文件吗?以及如何做到这一点?

  • 我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用

  • 我尝试使用Spring Boot 2.0.2从战争转移到罐子,并且在使用故障安全进行maven测试时遇到了问题。 我看到两种错误: > < li> < code > Java . lang . noclassdeffounderror ,其中列出了我的一个bean类 当我在 IntelliJ 中运行这些测试时,一切正常,但它们在 maven 中失败。与此同时,当我回到建立战争而不是罐子时,一切都有