在 WildFly 10 中添加 jars 作为部署

adding jars as deployment in WildFly 10

有没有办法,我们可以像在 weblogic 服务器中那样在 WildFly 10 中将 jar 部署为 library/deployment?或者我们可以将 jars 放在服务器的任何文件夹中并将这些依赖项定义为 provided?

要在 Jboss/Wildfly 中将外部 jar 添加为 "library",您可以将其定义为安装中的模块,或将其添加到现有模块。

有关如何在 Wildfly 中添加模块的更多详细信息,请参阅此 link

我在 WildFly 10 服务器上部署 jars 而不是制作 war 文件的一部分的方法定义如下:

1) 将所有罐子放入 wildfly\modules\system\layers\base\com\abcProject\main 并放置一个名为 module.xml 的文件,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.abcProject">
<resources>
    <resource-root path="aspectjrt-1.6.8.jar"/>
    <resource-root path="aspectjweaver-1.6.8.jar"/>
    <resource-root path="aopalliance-1.0.jar"/>
    <resource-root path="guava-18.0.jar"/>
</resources>

<dependencies>
    <module name="javaee.api"/>
    <module name="org.apache.commons.logging"/>
    <module name="org.jboss.vfs"/>
</dependencies>

其中 resources 是您的 abcProject/main 文件夹中的所有 jarsdependencies 是您的 jars 所在的所有 jars是相关的,存在于 wildfly\modules\system\layers\base 个文件夹中。

2) 然后在您的项目中,在 WEB-INF 文件夹中添加一个名为 jboss-deployment-structure.xml 的文件,其内容如下:

<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<deployment>
    <dependencies>
        <module name="com.abcProject" >
            <imports>
                <include path="META-INF**"/>
                <include path="org**"/>
            </imports>
        </module>
    </dependencies>
</deployment>

3) 现在将 pom 文件中所有 dependenciesscope 设置为 provided,您已将 jars 放入 abcProject/main文件夹。

现在就这些了运行您的项目将从服务器获取所有 jar,并且不会在编译期间包含在 war 文件中。