首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Maven相比,构建Java应用程序的更好、更简单和更现代的方法是什么?

与Maven相比,构建Java应用程序的更好、更简单和更现代的方法是什么?
EN

Stack Overflow用户
提问于 2011-12-05 02:49:25
回答 2查看 620关注 0票数 10

我在考虑摆脱Maven。对于简单的应用程序来说,这是没有问题的,但是我遇到了一些我无法解决的问题,似乎没有其他人能够解决这些问题,甚至连Maven邮件列表也没有解决方案。

哪些是为Java提供的现代构建工具,它们提供了Maven所提供的功能,同时也具备了处理开发现代web应用程序的挑战的能力?例如,如果我想使用Javascript小型化工具,比如YUI压缩器,它可以轻松轻松地让我在创建War文件之前压缩/聚合我的css和javascript。

  • 解释:maven的问题是,在war插件中没有办法做任何事情。例如,我想在yui压缩程序复制webapp的资源(css、图像、javascripts等)之后调用它。如果我能做到这一点,它将确保任何未压缩的javascript文件(在YUI压缩器的小型化/聚合过程中被排除在外)都是最终war包的一部分。这不可能 只有当您计划压缩和/或聚合所有文件(而不是子集)时,YUI压缩器才能工作。有一些像jscharts.js这样的javascript文件,您需要将它们从细化过程中排除出来,因为否则它们会破坏实际的源代码。在Maven中无法处理这个用例,即使解决方案很简单。

拥有使用实时javascript与压缩/聚合javascript的能力也将是一大福音。

  • 解释:也很难在html文件中重构大量的javascript。假设您有100个javascript文件,并且您希望能够使用您的实时javascript文件进行开发,但是您希望在生产中使用压缩/聚合文件。您仍然需要将所有javascript文件包含在html模板中(例如,共济会),因为您希望在开发过程中处理活动的javascript文件。对于生产,您还必须在maven pom.xml中维护一个单独的列表,以便聚合它们。 这两个javascript文件列表基本上是相同的,对于开发人员来说,确保它们包含相同的文件和顺序是一个额外的负担:( Maven在2011年并没有帮助解决这样一个与web相关的常见问题。不过,Rails 3.1的用户可以免费获得这个。我们可以做得更好。

我仍然需要有过滤器的能力,就像在maven中一样,可以处理不同的生产环境。例如,我经常使用属性文件来更改applicationContext.xml For Spring或servlet上下文中的值。

我还需要向类路径添加资源的能力。我有大量的文本文件,为我提供了字典、辞典等的基本功能。我需要把这些放在我的类路径中。

如果构建工具也使用Maven存储库,那就太好了。

任何其他好处,如更简单和编写更少的配置代码将是一个好处,但我上面列出的特性是最重要的。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-05 02:55:08

你应该能在格拉德尔完成所有这些。从本质上说,它是Groovy中的一组库和模块,为构建提供了很大的能力。如果需要对其进行扩展,则使用Groovy编写扩展。挺不错的。

票数 3
EN

Stack Overflow用户

发布于 2011-12-05 02:57:40

如果您喜欢学习Scala,那么我强烈推荐SBT。我们使用它来构建我们所有的Java代码,并且对它非常满意。它可以做一些整洁的事情,比如并行构建,而不像ANT/Maven,它的增量编译实际上是接缝工作的。此外,它还包括一个很好的REPL,它允许您直接与构建和代码交互。

SBT易于扩展,因为它的构建文件是用代码而不是XML编写的。因此,插件存在于你的心脏所能想要的一切东西上,例如:

至于项目依赖关系,可以是托管(自动从Maven/Ivy下载)或非托管(即资源(jar,文件,.)你自己添加)--它们也可以混合和匹配。

SBT使用标准的Maven目录布局(尽管这很容易更改),对IDE的(fx )有很大的支持。月食想法),如果您需要的话,它还可以为您生成一个pom文件。

有一个非常好的指南可以让您快速开始使用SBT 这里

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

https://stackoverflow.com/questions/8380515

复制
相关文章

相似问题

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