簡體   English   中英

Java項目建設

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM