繁体   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