我有一些关于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做同样的事情怎么样?
我可能错过了什么,如果有人有经验,请帮助我:)
谢谢。
发布于 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一起工作:
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。如果我不得不猜测的话,他们可能是逐步过渡到梯度的,而且他们还没有完全实现。
发布于 2011-08-08 22:32:45
我不太清楚你为什么要使用Gradle,它提供了一些您需要的功能吗?一些你觉得很吸引人的特征?我对它没有经验,但是如果您只是想构建一个Java项目,我将保证Ant使用Eclipse。Ant是我尝试过的第一个构建程序,我不需要其他任何东西。据我所知,Maven也很好,并且与Eclipse集成得很好。
发布于 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插件)。
https://stackoverflow.com/questions/6989358
复制相似问题