[英]Java project building
我有一些關於Java
項目構建的問題。
當試圖找到一些使用Gradle
作為其構建系統的項目的良好示例時,我正在搜索Google Code
。
我嘗試了一些項目,並嘗試檢查了相關的build.gradle
文件: http : //code.google.com/p/spock/source/browse/trunk/spock-example/build.gradle? build.gradle
現在,我可以使用命令行輕松構建該項目,並且所有依賴項都可以很好地自動解決。 但是,自動構建也會生成IntelliJ IDEA
項目。
所以, 問題 。
我確信網絡上有很多基於Gradle
的項目。 這些建築系統(例如Gradle
如何與IDE
集成?
例如,無法使用IDE
的內部工具編譯IntelliJ IDEA
生成的項目,也不能對其進行調試(!)。
我唯一能做的就是擴展測試用例 , 運行它們並包裝最終的jar 。 這個可以嗎? 我不是很習慣Java構建系統,但是我認為它們應該與IDE
輕松IDE
。
用Ant
/ Maven
做同樣的事情呢?
我可能缺少了一些東西,如果有人有經驗,請幫助我:)
謝謝。
據我所知,Gradle的IntelliJ支持已接近完成。 我已經成功地使用它為相當復雜的項目生成了IntelliJ項目配置。 我沒有太多使用它的機會,因為我只是想從Gradle過渡到Maven,但是我沒有注意到您似乎描述的任何問題。 也許您正在使用的構建使用的是Gradle的較舊版本,而該版本尚未提供良好的IDE支持? 您能否提供一些無法按預期方式運行的具體示例?
編輯:專門針對您的問題,我做到了,它與Windows 7上的Gradle 1.0-milestone-4,IntelliJ 10.5和JDK 1.6.0_26一起使用:
git svn clone -r HEAD http://spock.googlecode.com/svn/trunk spock
cd spock
gradle idea
然后,在IntelliJ中,選擇“文件”->“打開項目...”,導航至並選擇... / spock / spock.ipr作為要打開的項目。 我首先運行了項目的完整版本(“構建”->“創建項目”),然后遇到了spock.util.concurrent.BlockingVariables問題。 我不得不告訴IntelliJ不要為該類生成存根。 我的Groovy不夠強壯,所以我不能告訴您為什么解決了這個問題或這樣做的含義。 之后,我能夠成功運行spock-spring / src / test / groovy / org / spockframework / spring / InjectionExamples.groovy。 然后,我在該文件的第38行( service instanceof IService1
)上放置了一個斷點,並且能夠對其進行調試並在該行上中斷。
值得注意的是,Gradle構建並未包含該項目中的所有模塊。 默認的Maven構建總共包括十個模塊,而Gradle構建只有六個模塊。 Gradle構建不包括spock-maven,spock-example,spock-grails-support或spock-grails。 如果我不得不猜測的話,他們可能正在逐步過渡到Gradle,而且還沒有完全實現。
對我來說還不是很清楚,為什么您要嘗試使用Gradle,是否提供了所需的某些功能? 您覺得引人注目的某些功能? 我沒有經驗,但是如果您只是嘗試構建Java項目,我將使用Eclipse IDE擔保Ant。 Ant是我嘗試的第一個構建程序,而我不需要任何其他東西。 據我了解,Maven也相當不錯,並且與Eclipse的集成非常好。
我強烈建議您看一下Maven
。 盡管我可以想象可以在您的IDE中找到它的插件,但Maven並沒有綁定到任何特定的IDE,它具有對Eclipse
插件支持。
Maven是有前途的構建之一,它的作用遠不止是實際構建。 它是持續集成構建系統(即hudson + maven + continuum + ...)的關鍵推動力。
它具有依賴項管理,因此您可以指定要使用的外部庫,並且可以透明地下載並在編譯和構建期間鏈接到您的構建。
它具有被采用的“標准”包裝實踐,並且非常理智和簡單。
總的來說,最近我看到更多的項目是從Maven開始的,該項目本身是Apache的一部分,並且非常活躍。
無法將Maven與ant進行比較,就像在Maven vs Ant
,Maven不僅僅是Ant之外的構建腳本。 使用Maven通過插件可以實現很多事情(例如Maven Cargo插件可以簡化向應用程序服務器的部署)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.