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

标签 java javascript maven build

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




10年前关闭。




我正在考虑摆脱Maven。对于简单的应用程序来说没问题,但是我遇到了我无法解决的问题,似乎没有其他人能够解决它们,甚至 Maven 邮件列表也没有解决方案。
有哪些现代的 Java 构建工具可以提供 Maven 提供的功能,同时也可以应对制作现代 Web 应用程序的挑战?例如,如果我想使用 Javascript 压缩工具,例如 YUI 压缩器,它可以让我在创建 War 文件之前轻松轻松地压缩/聚合我的 css 和 javascript。

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

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

  • 我仍然需要有过滤器的能力,就像在 Maven 中一样,来处理不同的生产环境。例如,我经常使用属性文件来更改 applicationContext.xml 中的值。对于 Spring 或 servlet 上下文。
    我还需要向类路径添加资源的能力。我有这些庞大的文本文件,它们为我提供了字典、同义词库等的基本功能。我需要将它们放在我的类路径中。
    如果构建工具也使用 Maven 存储库,那就太好了。
    任何其他好处,例如更简单和编写更少的配置代码都是一个加分项,但我上面列出的功能是最重要的。
    谢谢你。

    最佳答案

    你应该能够在 Gradle 中完成所有这些工作。从本质上讲,它是 Groovy 中的一组库和模块,为您构建构建提供了强大的功能。如果您需要扩展它,那么您可以在 Groovy 中编写您的扩展。它相当不错。

    关于java - 与 Maven 相比,构建 Java Web 应用程序的更好、更简单和更现代的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8380515/

    相关文章:

    Java 项目变得太大

    java - 异常处理与手动检查条件

    javascript - 将标签添加到使用 R 中的 leaftime 插件为传单创建的时间轴 map

    javascript - 触摸事件时下拉菜单消失

    javascript - jQuery/JS – 单击时滚动到下一个元素(可滚动的 div 问题)

    java - spring boot 嵌入式tomcat获取资源问题

    java - GStreamer 动态更改管道的 filesrc 位置 - 没有声音

    java - 从 "datetime-local"到 java.sql.Timestamp 的转换

    java - 使用 java 或 C++ 更改 mp3 的详细信息

    Java - Maven - 在表单中设置图标图像