Maven中Jetty插件的企业用途是什么?

时间:2017-08-25 08:00:40

标签: java maven jetty maven-plugin

由于我从一些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

此外,我们可以更改此插件中的端口和上下文路径以及许多内容。
据我所知,我们可以将Jetty用作tomcat之类的服务器,我们可以通过它部署应用程序。

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

3 个答案:

答案 0 :(得分:2)

来自official documentation

  

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

然而(也许这可以解决你所说的&#34;企业使用&#34;):

  

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

答案 1 :(得分:1)

我不确切地知道企业使用的含义,但我们要说您正在开发一个Web应用程序,而且它是一个Maven项目。

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

  1. 启动网络服务器
  2. 在其上部署WAR
  3. Maven插件派上用场的地方是它允许你只执行

    mvn jetty:run-war
    

    它会在一个命令中自动执行所有这些步骤,从而节省大量时间。该插件甚至能够在通知发生变化后重新部署该应用程序。

答案 2 :(得分:1)

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

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

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