【发布时间】:2023-04-09 03:09:01
【问题描述】:
我有一个用 Maven 管理其依赖项的 Java 程序。其中一个依赖项是另一个程序的 JNI 包装器。 Maven 负责对相关 JAR 文件的引用,但我自己却在搞乱 DLL 文件。
是否有让 Maven 也处理 DLL 的好方法?理想情况下,我希望将 DLL 像 JAR 文件一样加载到我们的本地存储库中。
【问题讨论】:
标签: java dll maven-2 java-native-interface
我有一个用 Maven 管理其依赖项的 Java 程序。其中一个依赖项是另一个程序的 JNI 包装器。 Maven 负责对相关 JAR 文件的引用,但我自己却在搞乱 DLL 文件。
是否有让 Maven 也处理 DLL 的好方法?理想情况下,我希望将 DLL 像 JAR 文件一样加载到我们的本地存储库中。
【问题讨论】:
标签: java dll maven-2 java-native-interface
你有没有尝试过这样的事情:
<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 from third party and managing the name of the DLL
基本上,如果您将 DLL 放入 ZIP 文件中,并将其作为单独的依赖项进行管理,并使用 nativedependencies-maven-plugin,则 DLL 将以正确的名称解压。
【讨论】: