我想將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. 將.jar文件添加到類路徑
- 2. WildFly - 將JAR添加到類路徑中
- 3. Ant相對路徑 - 不同於jar路徑的build.xml路徑
- 4. 將絕對路徑中的jar文件添加到類路徑中
- 5. 將外部JAR文件添加到jBoss 7的類路徑中
- 6. 將JAR文件添加到您的測試類路徑中:
- 7. 將庫路徑添加到jar文件
- 8. 不同的行爲 - 類路徑中的build.xml(Ant文件)
- 9. 將jar文件添加到類路徑中
- 10. 將.jar添加到類路徑(Scala)
- 11. riemann.io將jar添加到類路徑
- 12. 如何將我的外部jar文件添加到類路徑
- 13. 將當前目錄添加到JAR文件的類路徑
- 14. 在ant構建文件中添加第三方jar的類路徑
- 15. 如何在Ant build.xml中添加log4j.xml路徑
- 16. 排除Ant中的jar flom類路徑
- 17. 將Eclipse模塊添加到Eclipse中的JAR類路徑中
- 18. iReport 4.1.3:無法將jar和文件夾添加到Win7中的類路徑中
- 19. 將JAR從EAR文件添加到bash類路徑
- 20. 在ant build.xml中設置絕對路徑
- 21. 用相對路徑將jar文件添加到Eclipse項目中
- 22. 如何將jar文件添加到構建路徑中
- 23. 是否可以將特定的JAR添加到nrepl服務器使用的Clojure類路徑中?
- 24. 如何在eclipse中將jar添加到類路徑中
- 25. 無法加載phonegap geoloacation插件。將.jar添加到類路徑?
- 26. 將.class文件添加到ant類路徑中以進行groovc ant任務編譯?
- 27. 在運行目標之前將自定義jar添加到ant的類路徑
- 28. 在UBUNTU中添加JAR類路徑
- 29. 將Jar添加到Ant Build中
- 30. MANIFEST.MF中的類路徑是否只能包含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