正在尝试将Spring引导部署到weblogic服务器

正在尝试将Spring引导部署到weblogic服务器,weblogic,spring-boot,Weblogic,Spring Boot,我正在尝试使用SpringBoot创建一个测试应用程序,该应用程序将部署在Weblogic服务器上 当我测试我的应用程序是否在本地工作(使用tomcat)时,它确实工作。我可以转到localhost:8080/greeting并看到消息“helloworld!”。但是,当我将.WAR文件部署到Weblogic时,我得到一个10.4.5 404 Not Found错误 我发现这个链接告诉我将实现WebApplicationinitializer添加到Application.java: 然而,当我

我正在尝试使用SpringBoot创建一个测试应用程序,该应用程序将部署在Weblogic服务器上

当我测试我的应用程序是否在本地工作(使用tomcat)时,它确实工作。我可以转到localhost:8080/greeting并看到消息“helloworld!”。但是,当我将.WAR文件部署到Weblogic时,我得到一个10.4.5 404 Not Found错误

我发现这个链接告诉我将实现WebApplicationinitializer添加到Application.java:

然而,当我尝试这样做时,我无法再部署到Weblogic。我在日志中发现以下错误:

java.lang.NoSuchMethodError:org.springframework.core.annotation.AnnotationAwareOrderComparator.sort(Ljava/util/List;)V

这是我的档案:

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

  <groupId>com.company.wpa</groupId>
  <artifactId>WPA</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>war</packaging>
  <description>Wholesale Price Application</description>
  <name>WPA</name>

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

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.9.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework-boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
  </dependencies>

  <properties>
    <start-class>com.company.wpa.Application</start-class>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.7</java.version>
  </properties>

  <repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
        <id>spring-snapeshots</id>
        <name>Spring Snapshots</name>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
  </pluginRepositories>
</project>
<?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_2_5.xsd 
                        http://xmlns.oracle.com/weblogic/weblogic-web-app 
                        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
    <wls:weblogic-version>12.1.1</wls:weblogic-version>
    <wls:context-root>WPA</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>
WebMvcConfig.java

package com.company.wpa.config;
/**进口**/
@配置
@EnableWebMvc
公共类WebMvcConfig扩展了WebMVCConfigureAdapter{
@凌驾
公共无效配置DefaultServletHandling(DefaultServletHandlerConfigurer-configurer){
configurer.enable();
}
@豆子
公共内部资源viewResolver viewResolver(){
InternalResourceViewResolver解析器=新的InternalResourceViewResolver();
resolver.setPrefix(“WEB-INF/pages/”);
resolver.setSuffix(“.jsp”);
返回解析器;
}
}
greeting.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    ${message}  
</body>
</html>

在此处插入标题
${message}
weblogic.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.company.wpa</groupId>
  <artifactId>WPA</artifactId>
  <version>1.0-SNAPSHOT</version>

  <packaging>war</packaging>
  <description>Wholesale Price Application</description>
  <name>WPA</name>

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

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.9.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework-boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
  </dependencies>

  <properties>
    <start-class>com.company.wpa.Application</start-class>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.7</java.version>
  </properties>

  <repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
        <id>spring-snapeshots</id>
        <name>Spring Snapshots</name>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
  </pluginRepositories>
</project>
<?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_2_5.xsd 
                        http://xmlns.oracle.com/weblogic/weblogic-web-app 
                        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
    <wls:weblogic-version>12.1.1</wls:weblogic-version>
    <wls:context-root>WPA</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>

12.1.1
湿法磷酸
org.slf4j*
org.springframework*

这是Spring的旧版本(请告诉我Weblogic没有把它放在那里)。您的pom看起来很干净,但请检查war文件,执行“mvn清理”并重试。同时删除
WebMvcConfig
,因为Spring Boot将为您配置该文件。将
spring.view.prefix=WEB-INF/pages/
spring.view.suffix=.jsp
添加到
应用程序.properties
。而且您似乎缺少pom中配置的
spring boot maven插件
。您可能还需要在weblogic中处理类加载(至少对于WebSphere是这样),将其设置为parent last(或任何weblogic版本)。感谢M.Deinum,我已经更新了application.properties。Dave:war文件中的Spring版本是“4.0.8”,我相信它是从SpringBootStarterWeb中提取的。可以将spring框架依赖项放入我的pom.xml中并强制使用最新版本吗?如果在战争中是4.0.8,那就好了。也许你确实需要搞乱类加载器(按照Marten的建议)。