かなり長い間インターネットで検索しましたが、システムの依存関係がビルドされたwar(WEB-INF / libフォルダー)に含まれるようにmaven-warプラグインまたは同様のものを構成する方法がわかりません。
jar ビルドの場合は、次のように Maven 依存プラグインを使用します。
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
しかし、war ビルドの場合に何をすべきか理解できません。maven-war プラグインを使用してみましたが、ビルドにシステム依存関係が含まれていません。
[アップデート]
依存関係のタイプは次のとおりです:
<dependency>
<groupId>LoginRadius</groupId>
<artifactId>LoginRadius</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath>
</dependency>
私の POM にはこれらの依存関係があり、war のビルド時に WEB-INF/lib に含まれません。
ベストアンサー1
私が試したオプションを要約してみます:
<packagingIncludes>${java.home}/lib/jfxrt.jar</packagingIncludes>
これは機能しません。また、jar名のみでは他のすべてが除外されるため、試してみたい場合は試してみてください。
<packagingIncludes>${java.home}/lib/jfxrt.jar,**/*</packagingIncludes>
Jatin の回答は少し複雑に思えたので、WEB-INF POM に含まれると記載されているシステム jar が正確にどこにあるかを把握するために、POM を何度も確認してみました。
とにかく、私はこの解決策を使うことになりました。最初はうまくいきませんでしたが、しばらくしていくつかの修正を加えたらうまくいきました。
以下のコマンドを使用して、jar をローカル リポジトリにインストールしました。
mvn install:install-file -Dfile="C:\Users\hp\Documents\NetBeansProjects\TwitterAndLoginRadiusMaven\lib\LoginRadius-1.0.jar" -DgroupId=LoginRadius -DartifactId=LoginRadius -Dversion=1.0 -Dpackaging=jar`
上記のコマンドを実行した後、POMの依存関係を次のように変更しました。
<dependency>
<groupId>LoginRadius</groupId>
<artifactId>LoginRadius</artifactId>
<!--<scope>system</scope>-->
<version>1.0</version>
<!--<systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath>-->
</dependency>
注 - システム スコープと systemPath をコメントしました。
現在、war をビルドすると、WEB-INF/lib にこの LoginRadius-1.0.jar が含まれます。