是否有一个简单的Java项目构建/依赖管理工具?



到目前为止,我一直在使用Maven和ant+ivy,但我认为维护它们的所有配置相当困难。

我真正想要的是像leiningen这样的东西,它不需要任何xml,你可以管理代码中的依赖关系(在leiningen的情况下在clojure代码中)。它还附带一个方便的cli工具。

我知道leiningen内部使用maven,所以如果你的建议使用maven 内部也是没有问题的,所以一个很好的抽象,简化了事情和不需要与maven/ant/ivy交互,对我来说也同样好。

我会使用纯maven或gradle,因为它更容易创建构建脚本,但会避开ant。

Ivy是一个未充分利用的依赖管理解决方案,我个人只有粗略的经验(构建工件但不管理它们),我从未维护过Ivy构建,但看起来相当简单。要考虑的一件事是插件和现成构件的可用性(这与受欢迎程度成正比),maven显然是领导者。

所以,我建议使用纯maven或gradle。

编辑:近年来,对于一些仓库所有者来说,同时维护ivy和maven构建来增加他们代码的曝光率已经变得很现代了。如果你要这样做,gradle会更简单,因为一旦你要编写脚本,它就会在maven/ivy基础上提供一个很好的抽象。

我建议gradle。Gradle是一个依赖管理和构建系统。您使用groovy代码编写构建脚本,而不是xml。Gradle可以与现有的ivy或maven仓库一起工作。它的配置往往比maven的少得多,而且非常灵活(因为您可以在需要时在构建脚本中编写代码)。

有大量的文档在http://www.gradle.org/documentation

曾经有一个叫做Polyglot Maven的项目,它是用代码而不是xml配置的。这里给出了有关其当前状态的一些细节:Maven Polyglot发生了什么?

我还找到了Buildr(用于构建Java项目,配置用Ruby编写)。

我认为有必要澄清一下为什么maven的配置很难维护。当然,XML可能非常糟糕,但在ide等工具中有很多可用的工具。如果实际的项目结构和/或构建生命周期是困难的(它可能是,特别是多模块构建),那么基于maven的解决方案可能不会更好。

相关内容

  • 没有找到相关文章

最新更新