linux环境 Wildfly9 升级Wildfly10部署配置项目
注:wildfly10支持jdk1.8以上
1.软件:
app/wildfly-10.1.0.Final.zip
app/zulu8.33.0.1-jdk8.0.192-linux_x64.zip
修改启动文件wildfly-10.1.0/bin/standalone.conf
配置jdk
JAVA_HOME="/app/zulu8.33.0.1-jdk8.0.192-linux_x64"
2.添加数据库驱动配置
wildfly-10.1.0.Final/modules/system/layers/base/com/oracle/main/module.xml
添加的数据库驱动包ojdbc6-11.2.0.4.jar
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.oracle">
<resources>
<resource-root path="ojdbc6-11.2.0.4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
3.修改standalone.xml
数据源配置
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/appDS" pool-name="trainDS" enabled="true">
<connection-url>jdbc:oracle:thin:@localhost:8080:training</connection-url>
<driver>oracle</driver>
<security>
<security-domain>OracleSecurity</security-domain>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
//这个地方的名字要和驱动配置里的名一致
<driver name="oracle" module="com.oracle">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>
</drivers>
</datasources>
数据库账户密码加密(加密在另一文章记录)
<security-domain name="OracleSecurity">
<authentication>
<login-module code="SecureIdentity" flag="required">
<module-option name="username" value="数据库用户"/>
<module-option name="password" value="加密后的密码"/>
</login-module>
</authentication>
</security-domain>
更改端口
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9999}"/>
项目路径
/app/web/下放应用war包
<deployment-scanner path="/app/web" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
记录问题:
下面为报错信息
31m16:50:23,086 ERROR [org.springframework.boot.SpringApplication] (ServerService Thread Pool -- 61) Application startup failed: org.springframework.context.ApplicationContextException: Unable to start embedded container;
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpPutFormContentFilter' defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]: Bean instantiation via factory method failed;
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.filter.OrderedHttpPutFormContentFilter]: Factory method 'httpPutFormContentFilter' threw exception;
nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.fasterxml.jackson.databind.ObjectMapper
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)
at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)
at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:86)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)
at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186)
at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:171)
修改三个jar包和配置文件module.xml
原因:jar包和项目里包版本冲突,导致无法加载原有版本里带的jackson jar包
wildfly-10.1.0.Final/modules/system/layers/base/com/fasterxml/jackson/core/jackson-core/main/jackson-core-2.8.7.jar
wildfly-10.1.0.Final/modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/jackson-databind-2.9.10.3.jar
wildfly-10.1.0.Final/modules/system/layers/base/com/fasterxml/jackson/core/jackson-annotations/main/jackson-annotations-2.9.2.jar
完美解决!!!