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