使用Jetty进行Web开发; Maven的

时间:2010-03-23 03:15:54

标签: eclipse maven-2 jetty

我发现使用Maven& amp;进行Web开发非常令人沮丧Jetty使用Eclipse,与我使用Visual Studio进行比较。 每当我进行更改,甚至是我的视图文件中的微小更改(例如* .jsp),那么我必须重新打包整个网络 - >在我看到变化之前,等待码头重新装载所有东西。

有没有更好的方法可以做到这一点,有些事情就像是一个自动插件,它会选择更改的文件并将更改的文件部署到Web服务器上?

2 个答案:

答案 0 :(得分:13)

你一直使用Maven,Jetty(和Eclipse)的方式还不清楚,但由于问题标记为Maven,我将介绍Maven方式。对于war类型的项目,启动和运行Web应用程序的一种简单方法是使用Maven Jetty Plugin。为此,只需将以下代码段添加到您的POM:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.10</version>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

使用此设置,运行mvn jetty:run将启动一个部署了应用程序的jetty容器。对视图的任何更改都将导致在请求时重新编译JSP。要配置jetty插件以监视Java代码更改,您还必须添加 scanIntervalSeconds 选项:

  

scanIntervalSeconds 可选。扫描webapp以检查更改之间的暂停(以秒为单位),如果检测到任何更改则自动进行热重新部署。默认情况下,此值为0,禁用热部署扫描。大于0的数字可以启用它。

所以配置可能如下:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.10</version>
        <configuration>
          <scanIntervalSeconds>1</scanIntervalSeconds>
        </configuration>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

如果您希望能够连接远程调试器,请查看these instructions

这就是我一直使用Maven和Eclipse的Jetty,我一直对这个设置感到满意。我从来没有将Jetty适配器用于WTP,之前的设置是无与伦比的。

答案 1 :(得分:0)

没有将Jetty与Eclipse一起使用,但是如果你使用Tomcat(我认为Jetty也可以使用)和WTP以及m2eclipse插件,Eclipse将在每次保存资源时构建和发布你的web应用程序。

  1. 使用'war'打包创建(或使用现有的)Maven项目。

  2. 在Eclipse“服务器”视图中,右键单击并设置服务器。

  3. 右键单击已配置的服务器,然后选择“添加/删除项目”,并选择您的项目。

  4. 单击服务器视图中的绿色三角形以启动服务器。

  5. 现在Eclipse应该在每次进行更改时自动构建并发布Web应用程序。注意,你必须有m2eclipse插件和m2eclipse WTP集成插件才能工作。