Java jboss eap 7上的spring引导应用程序部署失败
我无法在JBOSS EAP 7服务器上部署my Spring BOOT REST应用程序 但是,它在ApacheTomcat8服务器上部署后运行良好 应用程序主类:Java jboss eap 7上的spring引导应用程序部署失败,java,spring,spring-boot,jboss,jboss-eap-7,Java,Spring,Spring Boot,Jboss,Jboss Eap 7,我无法在JBOSS EAP 7服务器上部署my Spring BOOT REST应用程序 但是,它在ApacheTomcat8服务器上部署后运行良好 应用程序主类: @SpringBootApplication(scanBasePackages= {"org.nic"}) @PropertySource(value="classpath:database.properties") public class PopulationApplication extends SpringBootServl
@SpringBootApplication(scanBasePackages= {"org.nic"})
@PropertySource(value="classpath:database.properties")
public class PopulationApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PopulationApplication.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(PopulationApplication.class, args);
}
}
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.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>
<start-class>org.nic.PopulationApplication</start-class>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<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.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我的服务器环境只有JBOSS EAP 7
我进行了研究来解决这个问题,但没有发现任何成功
为了在JBOSS EAP 7上运行,我有最后一个选项来删除Spring引导配置。Spring似乎无法从WAR中实例化bean。你能检查里面的类是否可见并正确加载吗
好像是课程加载问题。我遇到了完全相同的问题,挣扎了两天。终于找到了解决办法
java.lang.VerifyError
通常是在类不一致时产生的如错误消息所示,这是由
com.fasterxml.jackson.core.jackson-databind
因为Jboss有它的内部Jackson模块,并且它的版本与您指定的应用程序不同。
要解决此问题,请添加
jboss deployment structure.xml
,并将其置于src/main/webapp/WEB-INF
下:
它将避免隐式依赖并解决问题。
找到了答案,感谢他们!
有关更多信息:
我找到了相关文章
https://ilya-murzinov.github.io/articles/spring-boot-jboss/
但是在jboss eap 7上运行一个简单的web应用程序的配置似乎太多了。你能检查里面的类是否可见并正确加载吗
怎么做?你能分享你的项目结构吗?你把弹簧罐放在哪里了,它在战争图书馆的文件夹里吗?谢谢你,朋友。这是一个完美的解决方案
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.filter.OrderedHttpPutFormContentFilter]: Factory method 'httpPutFormContentFilter' threw exception; nested exception is java.lang.VerifyError: Failed to link com/fasterxml/jackson/databind/type/ReferenceType (Module "deployment.nhpmapi-0.0.1-SNAPSHOT.war:main" from Service Module Loader): Cannot inherit from final class
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579)
... 35 more
<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<exclusions>
<module name="com.fasterxml.jackson.core.jackson-annotations" />
<module name="com.fasterxml.jackson.core.jackson-core" />
<module name="com.fasterxml.jackson.core.jackson-databind" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8"/>
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310"/>
<module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
<module name="org.slf4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>