Mavenが依存関係を管理しているJavaプログラムがあります。それらの依存関係の1つは、別のプログラムのJNIラッパーです。Mavenは関連するJARファイルへの参照を処理しますが、私はDLLファイルを自分でいじりまわしているままです。
MavenにDLLも処理させる良い方法はありますか?理想的には、JARファイルのようにDLLをローカルリポジトリにロードしたいと思います。
Mavenが依存関係を管理しているJavaプログラムがあります。それらの依存関係の1つは、別のプログラムのJNIラッパーです。Mavenは関連するJARファイルへの参照を処理しますが、私はDLLファイルを自分でいじりまわしているままです。
MavenにDLLも処理させる良い方法はありますか?理想的には、JARファイルのようにDLLをローカルリポジトリにロードしたいと思います。
次のようなことを試しましたか?
<dependency>
<groupId>com.foo</groupId>
<artifactId>footron</artifactId>
<version>4.2</version>
<scope>runtime</scope>
<type>dll</type>
</dependency>
次のようにして、それらをMavenのリポジトリに追加できます。
mvn install:install-file -Dfile=footron.dll -DgroupId=com.foo -DartifactId=footron -Dversion=4.2 -Dpackaging=dll -DgeneratePom=true
DLLに対してこれを行っていませんが、このようなものは機能するはずです。
この質問への回答で説明されている別の解決策を見つけました:サードパーティのDLLでMavenを使用し、DLLの名前を管理する
基本的に、DLLをZIPファイルに入れ、それを別の依存関係として管理し、を使用するとnativedependencies-maven-plugin
、DLLは正しい名前で解凍されます。