weblogic
サーバーで実行できるように、jarをWildFly 10
でライブラリ/デプロイメントとしてデプロイする方法はありますか? OR jarをサーバーの任意のフォルダーに配置し、それらの依存関係をprovided
として定義できますか?
Warファイルの一部を作成するのではなく、jar
sをWildFly 10
サーバーにデプロイする方法を取得したものを以下に定義します。
1)すべてのjarファイルを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
フォルダに存在するすべてのjars
であり、dependencies
はあなたのjars
が依存しているすべてのjars
です。 wildfly\modules\system\layers\base
フォルダーに存在します。
2)次に、プロジェクトでjboss-deployment-structure.xml
という名前のファイルをWEB-INF
フォルダーに次の内容で追加します。
<?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)次に、scope
ファイル内のすべてのdependencies
のpom
を、provided
をabcProject/main
フォルダーに配置したjars
として設定します。
これでプロジェクトが実行され、サーバーからすべてのjar
が取得され、コンパイル時にwar
ファイルに含まれなくなります。
Jboss/Wildflyで外部jarを「ライブラリ」として追加するには、インストールでモジュールとして定義するか、既存のモジュールに追加します。
Wildflyにモジュールを追加する方法の詳細については、これを参照してください link 。