哪些檔案格式可以解壓密碼dependencies:unpack-dependencies
?例如,據我看到它不能解包RPM包。有沒有一個它支持的格式列表?是否有一些技巧可以讓Maven解包RPM包?哪些格式可以依賴:unpack-dependencies目標解壓?
回答
Maven Dependency Plugin使用內部Plexus Archiver來歸檔和取消歸檔文件。截至今日,版本2.10的maven-dependency-plugin
depends on version 2.9的plexus-archiver
。
Plexus組件在META-INF/plexus/components.xml
文件的幫助下進行配置。在依賴插件的情況下,你可以看到這個文件,並宣佈爲取檔以下擴展名:zip
,jar
,war
,ear
,swc
,nar
,esb
,sar
,car
,par
,rar
。它們全都使用相同的ZipUnArchiver
組件,這意味着它們都被解壓縮,就好像它們是ZIP文件一樣。
叢歸檔2.9還附帶了一系列預定義取檔的,並增加了:bzip2
,gzip
,tar
,tgz
,tar.gz
,tbz2
,tar.bz2
到列表中。最新版本還增加了snappy
和xz
文件。
如果你希望能夠解壓自定義擴展,您將需要創建一個能夠拆開包裝的一個新項目,並將其註冊爲一叢的組成部分。對於RPM軟件包,你可以創建一個rpm-archiver
Maven項目,並有內部META-INF/plexus/components.xml
如下:
<component-set>
<components>
<component>
<role>org.codehaus.plexus.archiver.UnArchiver</role>
<role-hint>rpm</role-hint>
<implementation>class.able.to.unpack.rpm.packages</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
</component>
</components>
</component-set>
其中class.able.to.unpack.rpm.packages
是你的自定義類可以解開RPM文件的全名分類。該類必須實現接口org.codehaus.plexus.archiver.UnArchiver
,但爲了簡化,您可以使該類繼承自org.codehaus.plexus.archiver.AbstractUnArchiver
。所有你需要做的就是覆蓋和execute(path, outputDirectory)
方法。前者需要將getSourceFile()
檢索到的文件抽取到getDestDirectory()
檢索的目錄中,而後者僅將源文件中指定的path
抽取到給定的outputDirectory
中。
編譯和安裝這個新項目後,可以作爲一個依賴它添加到maven-dependency-plugin
:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<!-- rest of your configuration -->
<dependencies>
<dependency>
<groupId>my.archiver</groupId>
<artifactId>rpm-archiver</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</plugin>
這樣,當插件運行時,它會知道如何拆開具有rpm
擴展名的文件,並將使用您在components.xml
中配置的類。
- 1. 我可以依賴哪些.NET Framework版本?
- 2. 哪些視頻格式可以使用?
- 3. Spring的@ModelAttribute註解可以接受哪些目標類型?
- 4. 用maven依賴插件解壓依賴一次
- 5. 在Eclipse,maven的依賴是壓倒一切的項目依賴
- 6. 解決依賴項目
- 7. Qt依賴於Windows的哪些部分?
- 8. Python依賴於哪些內核服務?
- 9. 哪些依賴項會被下載?
- 10. JUNG:哪些庫需要依賴關係?
- 11. html2pdf生成依賴於哪些因素?
- 12. 您認爲哪些資源對理解依賴注入有用?
- 13. CLion構建依賴目標
- 14. 目標依賴Makefile中
- 15. 爲什麼會有這麼多無用的依賴關係?哪些依賴關係可以安全地刪除?
- 16. 哪些項目在JAVA EE模塊依賴列表中
- 17. 如何檢查哪些項目依賴於.cpp文件?
- 18. 嵌入式ActiveMQ代理需要哪些依賴關係?
- 19. Keys Enum有哪些格式可用?
- 20. 解決依賴
- 21. Grafana可以收集哪些指標?
- 22. 如何從依賴列表中的特定依賴的目標
- 23. 在PubSub框架中,條目可以包含哪些內容格式?
- 24. 哪些圖像格式可用於圖像標籤?
- 25. 可以eclipse插件項目依賴於java項目
- 26. 依賴注入解決循環依賴
- 27. 解壓字典格式化
- 28. Flex應用可以播放哪些視頻格式?
- 29. 我可以使用哪些格式的動畫3D對象
- 30. Ruby和PHP都可以讀取哪些屬性文件格式?
也許這裏回答:http://stackoverflow.com/questions/15393110/maven-custom-archive-extension-how-do-i-use-unpack-dependencies –