[英]Weblogic 12c Spring Boot 2.0.1 jersey deploy error
Deploying Weblogic 12 using Spring Boot 2.0.1, Jersey 使用Jersey Jersey Spring Boot 2.0.1部署Weblogic 12
Below is the log contents. 以下是日志内容。
[Error] [HTTP] [BEA-101216] [Servlet]: "com.precursor.config.JerseyConfig" failed to preload on startup in Web application: "oasSvr2.war".
[错误] [HTTP] [BEA-101216] [Servlet]:在Web应用程序“ oasSvr2.war”中启动时,“ com.precursor.config.JerseyConfig”无法预加载。 java.lang.AbstractMethodError at org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:408) at org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:399) at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:340) at org.glassfish.jersey.server.ApplicationHandler.createApplication(ApplicationHandler.java:366) at org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:342)
org.glassfish.jersey.server.ApplicationHandler $ 4.get(ApplicationHandler.java:408)处的org.glassfish.jersey.server.ApplicationHandler $ 4.get(ApplicationHandler.java:399)处的java.lang.AbstractMethodError。 org.glassfish.jersey.server.ApplicationHandler.createApplication(ApplicationHandler.java:366)位于org.glassfish.jersey.server.ApplicationHandler的jersey.internal.util.collection.Values $ LazyValueImpl.get(Values.java:340)。 (ApplicationHandler.java:342)
Truncated.
截断。 see log file for complete stacktrace
请参阅日志文件以获取完整的stacktrace
Do you know why I get this error? 您知道我为什么会收到此错误吗?
Somebody help me, please. 请有人帮我。
Below is the source code. 下面是源代码。
Here is pom.xml 这是pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<org.slf4j-version>1.7.25</org.slf4j-version>
<logback.version>1.2.3</logback.version>
<cxf.version>3.2.4</cxf.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<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>
<!-- guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.1-jre</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
<!-- test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>1.1-groovy-2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>oasSvr2</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
Here is Application.java 这是Application.java
@ComponentScan
@SpringBootApplication
public class PilotJerseyCxfApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String[] args) {
SpringApplication.run(PilotJerseyCxfApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PilotJerseyCxfApplication.class);
}
}
Here is Interface.java 这是Interface.java
@Path("/bank")
public interface ICustomerService {
@GET
@Path("/list")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getCustomerList();
}
Here is JerseyConfig.java 这是JerseyConfig.java
@Configuration
@ApplicationPath("/")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig(){
register(WadlResource.class);
register(CustomerService.class);
}
}
Here is weblogic.xml 这是weblogic.xml
<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>
i had exactly the same issue. 我有完全一样的问题。 Try to exclude jersey from weblogic
尝试从WebLogic中排除球衣
how to disable Jersey from weblogic 12.2.1 如何从weblogic 12.2.1禁用Jersey
It worked for me 对我有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.