我想将PMD jar添加到ant构建中,但我想在jar中检查源代码控制,以便其他开发人员不必修改其环境。因此,复制到ant lib文件夹不是理想的情况。是否有另一种方法将该jar文件添加到ant类路径中?是否可以将jar文件添加到build.xml中的ant类路径中?
回答
我不是管理在源代码修订系统中存储jar的粉丝。我明白为什么,但SCM系统不适合存储大型二进制对象。
下面是使整个机器你的build重复的几个备选方案:
选项1:创建一个“引导”目标
使用Ant get task下载PMD罐子成ANT访问的目录,即$ HOME /赵军阳张志利/ lib目录下:
<target name="bootstrap" description="Install jars required by build">
<mkdir dir="${user.home}/.ant/lib"/>
<get src="http://search.maven.org/remotecontent?filepath=pmd/pmd/4.3/pmd-4.3.jar" dest="${user.home}/.ant/lib/pmd.jar"/>
</target>
选项2:使用依赖管理
Ivy可以用来管理所有构建的依赖关系(类似的Maven)
使用常春藤的优点是,它可以用来管理你所有的编译类路径(使用配置):
<target name="resolve" description="Use ivy to resolve classpaths">
<ivy:resolve/>
<ivy:cachepath pathid="compile.path" conf="compile"/>
<ivy:cachepath pathid="build.path" conf="build"/>
</target>
的文件然后叫的ivy.xml将列出你的项目的依赖
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<configurations>
<conf name="compile" description="Required to compile application"/>
<conf name="build" description="Required by the ANT build"/>
</configurations>
<dependencies>
<!-- compile dependencies -->
<dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" conf="compile->default"/>
<!-- build dependencies -->
<dependency org="pmd" name="pmd" rev="4.3" conf="build->default"/>
</dependencies>
</ivy-module>
此选项显得更加复杂,但它可以被用来管理所有的第三方jar文件。它还具有理解jar可能在其他jar上传递的依赖关系的好处。
方案3:声纳
我不知道你是否听说过Sonar项目?
一个JAR文件,可以使用选项1或2进行安装,这将自动下载下面的分析工具所需要的罐子:
- PMD
- FindBugs的
- 的Checkstyle
非常值得调查!
Thx我可能会使用Option 1.顺便说一句,我完全同意不在SCM中存储jar,但这是我从另一个团队继承的项目,需要一个停止间隔衡量,直到我能说服人们放弃蚂蚁并去找maven。 – 2012-08-08 13:18:31
@UsmanIsmail了解。除非你有一个冒险的开发团队,否则你会发现Maven会很难卖。这就是为什么我喜欢用常青藤作为制造缺口。另一个需要考虑的构建工具是Gradle。它对ANT有更好的支持,并且可以支持以婴儿为步骤的方法,使开发者脱离ANT :-) – 2012-08-08 17:15:17
- 1. WildFly - 将JAR添加到类路径中
- 2. Ant相对路径 - 不同于jar路径的build.xml路径
- 3. 将绝对路径中的jar文件添加到类路径中
- 4. 将外部JAR文件添加到jBoss 7的类路径中
- 5. 将库路径添加到jar文件
- 6. 不同的行为 - 类路径中的build.xml(Ant文件)
- 7. riemann.io将jar添加到类路径
- 8. 将.jar添加到类路径(Scala)
- 9. 将当前目录添加到JAR文件的类路径
- 10. 如何在Ant build.xml中添加log4j.xml路径
- 11. 如何将jar添加到jaspersoft studio中的类路径中?
- 12. 如何将jar文件添加到构建路径中
- 13. 用相对路径将jar文件添加到Eclipse项目中
- 14. 在ant build.xml中设置绝对路径
- 15. 是否可以将特定的JAR添加到nrepl服务器使用的Clojure类路径中?
- 16. 如何在eclipse中将jar添加到类路径中
- 17. 将jar库添加到jar文件中
- 18. 在类路径中添加.jar文件时出错
- 19. Maven:将文件夹或jar文件添加到当前类路径
- 20. 使用Ant将非代码资源添加到jar文件中
- 21. 是否可以替换Ant的build.xml中的属性中的文本?
- 22. 将Java添加到类路径中
- 23. 添加多个jar文件到类路径
- 24. 摇篮:添加类的JAR文件的类路径
- 25. 如何将包含属性文件的目录添加到Ant build.xml中?
- 26. 是否可以将方法添加到集合中的类中?
- 27. 是否可以在build.xml中为ant指定记录器?
- 28. 是否可以将Ant build.xml指向M2 Repo'Jar Files'?
- 29. 将Jar文件添加到GWT源路径?
- 30. 将jar文件添加到仪表路径
如何检查实用程序库到'util/lib'?并在你的'build.xml'中引用它们。这样,每个接受结账的人都会得到正确的JAR文件。 – 2012-08-07 14:29:14
难道只是将它们添加到javac的类路径中,而不是实际的ant类路径? – 2012-08-07 14:48:46
如果你的意思是Ant应该能够使用PMD任务,那么我相信 任务就是要走的路。如果这不是你的意思,那么我没有正确理解你的问题。 –
2012-08-08 05:49:40