2013-02-15 48 views
0

我正在開發我自己的自定義Maven插件,並且我想歸檔這些文件。我遵循這個例子:http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-mojo-params.html,並可以用zip格式存檔元素。但是我也想使用其他格式(用戶會指出它)。我如何設置存檔類型?自定義Maven插件開發存檔文件

ZipArchiver就像是:

/** 
* The Zip archiver. 
* @parameter \ 
expression="${component.org.codehaus.plexus.archiver.Archiver#zip}" 
*/ 
private ZipArchiver zipArchiver; 
... 
zipArchiver.addDirectory(buildDirectory, includes, excludes); 
zipArchiver.setDestFile(new File(baseDirectory, "output.zip")); 
zipArchiver.createArchive(); 
+0

你知道這樣的事情Maven的組裝-plugin和truezip-maven-plugin? – khmarbaise 2013-02-15 12:40:53

+0

@khmarbaise我正在開發一個全插件插件 – kamaci 2013-02-15 20:17:58

回答

2

您需要的格式屬性添加到您的插件,並使用相關的歸檔根據您的格式:

Archiver archiver = null; 
if("zip".equals(format)){ 
    archiver = new ZipArchiver(...); 
} 
else if("tar".equals(format)){ 
    archiver = new TarArchiver(...); 
} 
else (...){ 
    ... 
} 
+0

Maven組裝插件的工作原理是什麼? – kamaci 2013-02-15 20:18:31

+0

是的,它的確如此。我的回答受到Assembly插件源代碼的啓發。 – 2013-02-16 09:11:59

+0

它說:else if(「zip」.equals(string)||「jar」.equals(string)){archiverStub = new JarArchiverStub();在源代碼? – kamaci 2013-02-18 19:54:02