我想在做maven構建時替換現有jar/zip文件中的項目。什麼是最簡單的方法來實現這一點?謝謝。Maven - 用jar替換文件
3
A
回答
3
我不認爲有一個專門的插件來做到這一點,但我會想象你可以使用exec plugin和Updating .class file in jar信息來實現這一點。
7
我最喜歡這類任務是maven-antrun-plugin,它爲您帶來完整的ant功能。
您可以使用它像這樣:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>repack</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- note that here we reference previously declared dependency -->
<unzip src="${org.apache:common-util:jar}" dest="${project.build.directory}/tmp"/>
<!-- now do what you need to any of unpacked files under target/tmp/ -->
<zip basedir="${project.build.directory}/tmp" destfile="${project.build.directory}/common-util-modified.jar"/>
<!-- now the modified jar is available -->
</target>
</configuration>
</execution>
</executions>
</plugin>
但是請記住 - 從未修改你的本地庫任何文件 - 在這個例子中通過${org.apache:common-util:jar}
指向。這樣做會影響您在同一臺計算機上進一步構建所有項目(=針對同一本地回購)。
這樣的構建在其他機器上也是不可重現的(或難以重現)。
+1
我更喜歡使用'antrun'插件,命令爲'jar uf jar-file input-file(s)',如http://docs.oracle.com/javase/tutorial/deployment/jar/update.html – Vince 2012-12-06 15:18:04
相關問題
- 1. 使用Maven查找並替換一個jar文件
- 2. 條件替換maven
- 3. 在jar中替換.xml文件
- 4. 替換jar文件中的文件夾內的類文件
- 5. 如何用maven gzip單個文件並替換原始文件?
- 6. 使用maven修改jar文件名稱
- 7. 如何安裝使用Maven-JAR-插件默認jar文件
- 8. Maven替換?
- 9. 在jar文件中替換單個類文件是否安全?
- 10. 使用Google Maven替換器替換WAR文件中的web.xml中的令牌
- 11. 如何使用find命令查找和替換jar文件
- 12. 如何用新的替換現有的.jar文件?
- 13. 螞蟻可以替換jar/ear/war文件中的文本嗎?
- 14. Maven用替換的字符串覆蓋文件
- 15. Maven使用.class和.java文件創建jar文件
- 16. Maven不會生成帶有Maven jar插件的MANIFEST文件
- 17. Maven:從jar中提取文件
- 18. Maven的性能測試-jar文件
- 19. 如何在maven中導入jar文件
- 20. maven-jar-plugin文件篩選器
- 21. 未放入jar文件的maven資源
- 22. Maven-assembly-plugin:自定義jar文件名
- 23. maven部署額外的jar文件
- 24. 將Jar文件添加到Maven
- 25. Eclipse:將JAR文件轉換爲項目
- 26. 替換文件
- 27. 貨物Maven插件令牌替換
- 28. Gradle替換Maven程序集插件
- 29. 替換Maven 3中的plexus組件3
- 30. 替換Maven Antrun插件中的任務
也許你應該提供更多的細節,例如解釋你的問題是什麼。誰知道,可能有一個解決方案,而不需要訴諸這個! – Raghuram 2011-06-12 02:20:31