2009-10-15 41 views

回答

12

是的,你必須指定位置。按照Configuration and Usage頁面,這樣做是這樣的:

<project> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
      <descriptor>src/main/assembly/src.xml</descriptor> 
      </descriptors> 
     </configuration> 
     [...] 
</project> 

其實,我推薦使用src/main/assembly的位置。

+3

感謝,也指向該文檔頁面的鏈接。我在你發佈的同一時間內設法弄清楚了這一點,但是我認爲這個信息不適合你查看如何編寫程序集描述符的信息。 – 2009-10-15 13:09:20

+0

不起作用。請參閱http://stackoverflow.com/questions/2463721/maven-assembly-error-reading-assemblies/2464350#2464350 – 2013-07-10 21:35:35

1

在一個有點迂迴的方式,我終於能夠找出答案。首先,關於共享程序集描述符的this page間接給出了一些提示。

我的第一個錯誤是在我的插件配置中使用descriptorRef而不是descriptor。當我固定的,創造的鏈接頁面上顯示的目錄結構,我得到了一系列的錯誤消息是顯示插件如何嘗試解決你給它的描述符名:

[INFO] Searching for file location: /path/to/project/dependency-collection.xml

[INFO] File: /path/to/project/dependency-collection.xml does not exist.

所以,把它在項目的根應該工作...

[INFO] Invalid artifact specification: 'dependency-collection.xml'. Must contain at least three fields, separated by ':'.

...或者從Maven構件加載它...

[INFO] Failed to resolve classpath resource: /assemblies/dependency-collection.xml from classloader: ClassRealm[/plugins/org.apache.maven.plugins:maven-assembly-plugin:[email protected]/thread:main, parent: ClassRealm[plexus.core, parent: null]]

[INFO] Failed to resolve classpath resource: dependency-collection.xml from classloader: ClassRealm[/plugins/org.apache.maven.plugins:maven-assembly-plugin:[email protected]/thread:main, parent: ClassRealm[plexus.core, parent: null]]

......或把它放在插件的類路徑(我猜猜這是w這裏的預定義描述符是)...

[INFO] Building URL from location: dependency-collection.xml

Error: java.net.MalformedURLException: no protocol: dependency-collection.xml

...或從URL加載它。

不錯,但這應該記錄在某個地方,我想。我只是把描述符文件放在epom.xml的旁邊,它就起作用了。我可能可以在搜索網頁之前嘗試過......

相關問題