我有一个用 Maven 管理其依赖项的 Java 程序。其中一个依赖项是另一个程序的 JNI 包装器。Maven 负责对相关 JAR 文件的引用,但我自己却在搞乱 DLL 文件。
是否有让 Maven 也处理 DLL 的好方法?理想情况下,我希望将 DLL 像 JAR 文件一样加载到我们的本地存储库中。
我有一个用 Maven 管理其依赖项的 Java 程序。其中一个依赖项是另一个程序的 JNI 包装器。Maven 负责对相关 JAR 文件的引用,但我自己却在搞乱 DLL 文件。
是否有让 Maven 也处理 DLL 的好方法?理想情况下,我希望将 DLL 像 JAR 文件一样加载到我们的本地存储库中。
你有没有尝试过这样的事情:
<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 做到这一点,但这样的事情应该可以工作。
我找到了另一个解决方案,在这个问题的答案中有所描述:Using maven with DLL fromthirdparty and manage the name of the DLL
基本上,如果您将 DLL 放入 ZIP 文件,并将其作为单独的依赖项进行管理,并使用 . nativedependencies-maven-plugin
,那么 DLL 将以正确的名称解压缩。