Maven依赖库问题:Dll依赖项

7

我正在开发一个基于swing的桌面应用程序,该应用程序正在使用MediaInfo.dll库。我首先像这个答案描述的那样将此dll安装到我的本地存储库中。然后我在我的pom.xml文件中添加了一个依赖项,如下所示:

<dependency>
    <groupId>com.mediainfo</groupId>
    <artifactId>mediainfo</artifactId>
    <version>0.7.44</version>    
    <type>dll</type>    
</dependency>

我正在使用Maven 3.0.3版本,当我执行mvn install assembly:assembly时,它显示如下信息:
PlexusIoResourceCollection未找到,没有找到dll的归档程序。
我对Maven不熟悉,所以在绝望之前寻求帮助。

1
尝试在x86或x64类型之前添加分类器标记。因此,如果您在32位环境中,请在类型标记之前添加<classifier>x86</classifier>。如果它起作用,我会在下面发布答案。 - Perception
不,我尝试过了,但它不起作用。 - caltuntas
好的,如果在这之前没有回复,我下班后会再仔细看一下。 - Perception
谢谢。我会等待你的答复。 - caltuntas
1个回答

4
这将取决于您的装配描述,但似乎您在一个<dependencySet>下指定了<unpack>true</unpack>,该设置未排除DLL。尝试将其添加到该dependencySet元素中:
<excludes>
  <exclude>*:dll*</exclude>
</excludes>

如果您想在不解压它们的情况下合并DLL依赖项,则可能需要一个额外的dependencySet元素,其中包括它们,并且不指定unpack标志。有关更多信息,请参见http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet

1
对于那些尚未精通Maven的人,是否可以提供一些上下文来说明此“排除”XML位于pom文件的何处?父元素是什么?dependencySet的父级是什么?是否可以发布一个带有此设置的最小POM? - Jason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接