2011-08-01 78 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? –