我想在做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