如何在 lib 和 lib/ext 目录中将 jar 库添加到 Wildfly 服务器?

How to add jar libraries to Wildfly server in lib and lib/ext directories?

我正在尝试最小化我的 myapp.ear 文件以将一些库移动到服务器 wildfly 10,但我发现的唯一简单方法是包含在 standalone.xml 部署部分,如下例.

<deployments>
   <deployment name="mysql-connector-java-5.0.8-bin.jar" runtime-name="mysql-connector-java-5.0.8-bin.jar">
      <content sha1="7b9bfb6c4e4885660378a9c13330915c321f6cca"/>
   </deployment>
</deployments>

我可以使用 maven 上的库作为示例

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
</dependency>

有没有一种简单的方法可以在 ../lib 或 .. 中添加和加载库/lib/ext?

为您的驱动程序创建一个像他这样的 module.xml 文件:

<module xmlns="urn:jboss:module:1.5" name="com.mysql">
    <resources>
        <resource-root path="mysql-connector-java-5.0.8-bin.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>

执行 : .

/jboss-cli.sh -c --command="module add --module-xml=<path-to-file>/module.xml --resources=<path-to-file>/mysql-connector-java-5.0.8-bin.jar"

要在 wildfly 10 中定义一个新模块,我们可以使用 jboss-cli.sh 等。

创建模块依赖

../wildflly/bin$ ./jboss-cli
[standalone@localhost:9990 /] module add 
 --name=org.mysql 
 --resources=<path-res>/mysql-connector-java-5.1.45-bin.jar 
 --dependencies=javax.api,javax.transaction.api

我用作 ../standalone/lib

创建数据源驱动程序

[standalone@localhost:9990 /]/subsystem=datasources/jdbc-driver=
mysql:add(driver-module-name=org.mysql,
 driver-name=mysql,
 driver-class-name=com.mysql.jdbc.Driver)

创建数据库源(以默认mysql端口为例)

[standalone@localhost:9990 /] /subsystem=datasources/data-source=
MySQLDS:add(jndi-name=java:jboss/datasources/MySQLDS, 
 driver-name=mysql, 
 connection-url=jdbc:mysql://localhost:3306/schema,
 user-name=root,
 password=pass)