Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由于缺少Spring引导类,WebLogic 12.2.1.2.0上的部署失败_Java_Oracle_Spring Boot_Maven_Weblogic12c - Fatal编程技术网

Java 由于缺少Spring引导类,WebLogic 12.2.1.2.0上的部署失败

Java 由于缺少Spring引导类,WebLogic 12.2.1.2.0上的部署失败,java,oracle,spring-boot,maven,weblogic12c,Java,Oracle,Spring Boot,Maven,Weblogic12c,我有一个在STS3.9.2中开发的Spring boot应用程序,最初作为一个独立的.jar,后来使用WebLogic Web Service Maven项目模板将其迁移到WebLogic。目标运行时是Oracle WebLogic 12.2.1.3(这是Oracle仍然提供的最旧版本)。我没有使用与WebLogic的任何集成,我只希望能够部署 正如许多在线教程所描述的,我已经将spring boot starter tomcat依赖项设置为提供的。以下是我的依赖项列表: <par

我有一个在STS3.9.2中开发的Spring boot应用程序,最初作为一个独立的.jar,后来使用WebLogic Web Service Maven项目模板将其迁移到WebLogic。目标运行时是Oracle WebLogic 12.2.1.3(这是Oracle仍然提供的最旧版本)。我没有使用与WebLogic的任何集成,我只希望能够部署

正如许多在线教程所描述的,我已经将spring boot starter tomcat依赖项设置为提供的
。以下是我的依赖项列表:

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

  ...

  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-security</artifactId>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0.1</version>
        <exclusions>
            <exclusion>
                <artifactId>xmlparserv2</artifactId>
                <groupId>com.oracle.jdbc</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>xdb6</artifactId>
        <version>12.1.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>
  </dependencies>

org.springframework.boot
是库spring-boot-2.2.2.RELEASE.jar的一部分,该库与WAR文件打包在一起。该错误可能是由于存在该库的较旧版本(该类是在版本2.1.0中引入的),但在WebLogic服务器上似乎没有任何spring引导jar可供选择

如上所述,通过使用以下weblogic-configuration.xml将应用程序部署为EAR文件,可以指示服务器使用打包的jar:

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" 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/javaee_6.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.8/weblogic-application.xsd">
    <!--weblogic-version:12.2.1.3-->
    <wls:application-param>
        <wls:param-name>webapp.encoding.default</wls:param-name>
        <wls:param-value>UTF-8</wls:param-value>
    </wls:application-param>
    <wls:prefer-application-packages>
        <wls:package-name>org.springframework.boot.*</wls:package-name>
    </wls:prefer-application-packages>
</wls:weblogic-application>

webapp.encoding.default
UTF-8
org.springframework.boot*

但无济于事(同样的错误依然存在)。欢迎解释原因或提出建议

对于那些感兴趣的人,我解决了以下问题。无需创建EAR文件,只需将包列表添加到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/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
    <wls:weblogic-version>12.2.1.3</wls:weblogic-version>
    <wls:context-root>ChpDataImport</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:package-name>com.fasterxml.jackson.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>

</wls:weblogic-web-app>

12.2.1.3
ChpDataImport
org.slf4j*
org.springframework*
com.fasterxml.jackson*
策略是部署,在出现错误时查看日志,并将适当的包添加到列表中,直到不再出现错误

<?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/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
    <wls:weblogic-version>12.2.1.3</wls:weblogic-version>
    <wls:context-root>ChpDataImport</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:package-name>com.fasterxml.jackson.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>

</wls:weblogic-web-app>