【问题标题】:What is the enterprise use of the Jetty plugin in Maven?Maven中Jetty插件的企业用途是什么?
【发布时间】:2018-02-03 05:41:36
【问题描述】:

由于我从一些 maven 教程中学习,我们可以像这样将 Jetty 作为 maven 插件导入。

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.10</version>
  <configuration>
    <scanIntervalSeconds>5</scanIntervalSeconds>
  </configuration>
</plugin>

并且可以像这样运行插件。

$ mvn jetty:run

我们还可以更改端口和上下文路径以及此插件中的许多内容。
据我了解,我们可以像tomcat一样使用Jetty作为服务器,我们可以通过它部署应用程序。

但我不明白的是 Jetty 在 Maven 中的实际企业用途是什么。

【问题讨论】:

  • 它允许开发人员轻松生成一个测试环境来部署 Maven 项目。
  • @LucianovanderVeekens 谢谢。你能解释一下吗???
  • Jetty 6 is EOL (End of Life),考虑升级。

标签: java maven jetty maven-plugin


【解决方案1】:

来自official documentation

Jetty Maven 插件对于快速开发和测试很有用。您可以将其添加到根据 Maven 默认构造的任何 webapp 项目中。然后,该插件可以定期扫描您的项目以查找更改,并在发现任何更改时自动重新部署 web 应用程序。这通过消除构建和部署步骤使开发周期更有效率:您使用您的 IDE 对项目进行更改,并且正在运行的 Web 容器会自动选择它们,让您可以立即对其进行测试。

但是(也许这解决了您所谓的“企业用途”):

虽然 Jetty Maven 插件对于开发非常有用,但我们不建议将其用于生产能力。为了使插件工作,它需要利用许多内部 Maven api 和 Maven 本身,它不是生产部署工具。我们建议使用传统的分发部署方法或使用嵌入式 Jetty。

【讨论】:

  • 非常感谢。
【解决方案2】:

主要用于测试,Jetty 也可以通过编程方式启动(参见example Java 代码),这意味着您可以直接从您的代码启动服务器并与您的 REST API 进行交互。

您还可以使用它来更轻松地部署小型应用程序,只需将所有内容打包到 JAR 中,该 JAR 在通过 java -jar your-app.jar 执行时从 main 方法运行服务器。那时你不需要安装任何依赖项,除了 Java。

附带说明一下,我目前在 Clojure(基于 Lisp 的 JVM 语言)中工作,许多人将他们的应用程序部署为 JAR,它在内部运行嵌入式 Jetty,因为这样它也可以启动 REPL,您可以远程连接并调试您的应用程序在运行时。

【讨论】:

  • jetty-maven-plugin的主要用途是测试,而不是Jetty整体。
  • 你为什么要引用我帖子的第一句话?是的,我还提供了更广泛的图片,我认为没有任何问题 - 因为这是 Jetty Maven 插件在内部执行的操作,调用 Jettys API
【解决方案3】:

我不知道您所说的企业用途到底是什么意思,但假设您正在开发一个 Web 应用程序并且它是一个 Maven 项目。

每次您想测试 Web 应用程序是否正常工作时,您都需要在 Web 服务器上部署 Web 存档 (WAR),例如码头或Tomcat。通常这涉及几个手动步骤,例如:

  1. 启动网络服务器
  2. 在其上部署 WAR

Maven 插件派上用场的地方在于它允许您只执行

mvn jetty:run-war

它会在一个命令中自动为您完成所有这些步骤,从而为您节省大量时间。该插件甚至可以在发现更改后重新部署应用程序。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2014-11-05
    • 2011-04-24
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多