2011-08-01 75 views
6

我正在开发基于swing的桌面应用程序,此应用程序使用MediaInfo.dll库。我第一次安装这个dll到我的本地存储库,如描述this answer。然后我在pom.xml中添加依赖这样Maven Dll依赖项问题

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

我使用Maven 3.0.3版本,当我执行MVN安装装配:装配它说

PlexusIoResourceCollection没有发现,没有发现为DLL dll

我是新来的maven,所以我正在寻找一个帮助之前拉我的听到。

+1

尝试在键入x86或x64之前添加分类标记。因此,如果您使用的是32位环境,请在类型标记前加上 x86。如果有效,我会在下面发表一个答案。 – Perception

+0

不,我已经尝试过,但不起作用 – mcaaltuntas

+0

好的,如果在此之前没有响应,请在下班后多看看。 – Perception

回答

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

+0

对于那些尚未流利使用maven的人来说,可以给出一些上下文来说明这个'排除'XML所属的pom的位置吗?父母的元素是什么?什么是dependencySet的父项?是否可以发布此设置的最小POM? –