首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java项目构建

Java项目构建
EN

Stack Overflow用户
提问于 2011-08-08 22:24:44
回答 3查看 476关注 0票数 0

我有一些关于Java项目建设的问题。

当我试图找到一些使用Gradle作为其构建系统的项目的好例子时,我正在Google Code中搜索。

有一些,我试着签出这个项目,并检查了相关的build.gradle文件:http://code.google.com/p/spock/source/browse/trunk/spock-example/build.gradle?r=1316

现在,我可以使用命令行轻松地构建这个项目,并且所有的依赖关系都得到了很好的自动解决。但是,自动生成也会生成一个IntelliJ IDEA项目。

所以,问题

我相信网络上有很多Gradle-based项目。像Gradle这样的构建系统是如何与IDE集成的?

例如,为IntelliJ IDEA生成的项目无法使用IDE的内部工具进行编译,也无法调试(!)

我唯一能做的就是扩展测试用例运行它们包--最终的jar。这样可以吗?我不太习惯于Java构建系统,但我认为它们应该很容易地与IDE__集成。

Ant/Maven做同样的事情怎么样?

我可能错过了什么,如果有人有经验,请帮助我:)

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-09 00:16:33

据我所知,Gradle的IntelliJ支持已经接近完成。我已经成功地使用它为一个相当复杂的项目生成了一个IntelliJ项目配置。我还没有机会使用它,因为我只是想从Gradle过渡到Maven,但是我没有注意到像您所描述的那样的任何问题。也许您正在使用的构建使用的是一个旧版本的Gradle,它还没有很好的IDE支持?你能给出一些具体的例子,说明一些不符合你预期的工作方式吗?

编辑:针对您的问题,我专门使用了,它与Gradle 1.0-里程碑-4、IntelliJ 10.5和Windows7上的JDK 1.6.0_26一起工作:

代码语言:javascript
复制
git svn clone -r HEAD http://spock.googlecode.com/svn/trunk spock
cd spock
gradle idea

然后,在IntelliJ中,文件->打开项目.,导航到./->/spock.ipr作为要打开的项目。我首先运行了该项目的完整构建(Build -> Make ),并遇到了spock.util.concurrent.BlockingVariables的问题。我不得不告诉IntelliJ不要为该类生成存根。我的Groovy不是很强,所以我不能告诉您为什么要解决这个问题,或者这样做意味着什么。之后,我成功地运行了spock-spring/src/test/groovy/org/spockframework/spring/InjectionExamples.groovy.。然后,我在该文件(service instanceof IService1)的第38行上放置了一个断点,并能够对其进行调试并在该行上中断。

值得注意的是,Gradle构建并不包括该项目中的所有模块。默认Maven构建总共包括10个模块,而Gradle构建只有6个模块。Gradle构建不包括spock-maven、spock-示例、spock-grails支持或spock-grails。如果我不得不猜测的话,他们可能是逐步过渡到梯度的,而且他们还没有完全实现。

票数 3
EN

Stack Overflow用户

发布于 2011-08-08 22:32:45

我不太清楚你为什么要使用Gradle,它提供了一些您需要的功能吗?一些你觉得很吸引人的特征?我对它没有经验,但是如果您只是想构建一个Java项目,我将保证Ant使用Eclipse。Ant是我尝试过的第一个构建程序,我不需要其他任何东西。据我所知,Maven也很好,并且与Eclipse集成得很好。

票数 0
EN

Stack Overflow用户

发布于 2011-08-08 23:11:41

我强烈建议您查看Maven。Maven并不与任何特定的IDE绑定,虽然我可以想象它的插件可以在您的IDE中找到,但是它对Eclipse有插件支持。

Maven是最有前途的构建之一,它所做的不仅仅是构建。它是持续集成构建系统的关键因素,即hudson + maven +连续体+.

它具有依赖关系管理,因此您可以指定希望使用的外部库,并在编译和构建期间透明地下载和链接到构建。

它有“标准”包装的做法,正在采取,它是相当理智和简单。

总的来说,我已经看到更多的项目是最近用Maven开始的,而且这个项目本身是Apache的一部分,并且非常活跃。

Maven不能与ant进行比较,就像在Maven vs Ant中一样,Maven不仅仅是一个构建脚本,而不是Ant。使用Maven可以通过插件实现许多功能(比如简化应用服务器部署的Maven Cargo插件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6989358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档