我想將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