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