- 方法一 最基本的方法
把依赖的jar都打到war里面去。当然这是不我想要的。
- 方法二 wildfly静态模块方法
思路是把apache commons、 google guava, jackson、数据库方面的制做成一个Base tools库。接着再把三方包spring做为wildfly的静态module,再引用进来。下面以springMVC+spring+JPA方式举例:
1、制作Spring模块,并放到wildfly-10.1.0.Final\modules\org\spring\main下。
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.spring">
<resources>
<resource-root path="aopalliance-1.0.jar"/>
<resource-root path="aspectjrt-1.8.9.jar"/>
<resource-root path="aspectjweaver-1.8.9.jar"/>
<resource-root path="commons-fileupload-1.3.2.jar"/>
<resource-root path="spring-aop-4.3.2.RELEASE.jar"/>
<resource-root path="spring-beans-4.3.2.RELEASE.jar"/>
<resource-root path="spring-context-4.3.2.RELEASE.jar"/>
<resource-root path="spring-context-support-4.3.2.RELEASE.jar"/>
<resource-root path="spring-core-4.3.2.RELEASE.jar"/>
<resource-root path="spring-data-commons-1.12.2.RELEASE.jar"/>
<resource-root path="spring-data-jpa-1.10.2.RELEASE.jar"/>
<resource-root path="spring-expression-4.3.2.RELEASE.jar"/>
<resource-root path="spring-jdbc-4.3.2.RELEASE.jar"/>
<resource-root path="spring-orm-4.3.2.RELEASE.jar"/>
<resource-root path="spring-security-core-4.2.1.RELEASE.jar"/>
<resource-root path="spring-security-web-4.2.1.RELEASE.jar"/>
<resource-root path="spring-jdbc-4.3.2.RELEASE.jar"/>
<resource-root path="spring-tx-4.3.2.RELEASE.jar"/>
<resource-root path="spring-web-4.3.2.RELEASE.jar"/>
<resource-root path="spring-webmvc-4.3.2.RELEASE.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="org.slf4j"/>
<module name="org.apache.commons.logging"/>
<module name="org.jboss.vfs"/>
<module name="javax.xml.bind.api"/>
<module name="javax.servlet.api"/>
<module name="javax.servlet.jsp.api"/>
<module name="javax.servlet.jstl.api"/>
<module name="javax.persistence.api"/>
<module name="org.hibernate" export="true"/>
<module name="org.javassist" export="true"/>
<module name="javax.validation.api" export="true"/>
<module name="com.fasterxml.jackson.core.jackson-core"/>
<module name="com.fasterxml.jackson.core.jackson-databind"/>
</dependencies>
</module>
二、在自己的war包里引用:
在\src\main\webapp\WEB-INF 目录下,加入jboss-deployment-structure.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.3">
<deployment>
<dependencies>
<module name="org.spring" meta-inf="export" export="true"/>
<module name="com.commons" />
<module name="javax.api"/>
<module name="javax.inject.api"/>
<module name="org.jdom"></module>
</dependencies>
</deployment>
</jboss-deployment-structure>
搞定。war大小马上由20多MB变成几百KB, maven打包也快,远程传输也快。