我发现使用Maven& amp;进行Web开发非常令人沮丧Jetty使用Eclipse,与我使用Visual Studio进行比较。 每当我进行更改,甚至是我的视图文件中的微小更改(例如* .jsp),那么我必须重新打包整个网络 - >在我看到变化之前,等待码头重新装载所有东西。
有没有更好的方法可以做到这一点,有些事情就像是一个自动插件,它会选择更改的文件并将更改的文件部署到Web服务器上?
答案 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应用程序。
使用'war'打包创建(或使用现有的)Maven项目。
在Eclipse“服务器”视图中,右键单击并设置服务器。
右键单击已配置的服务器,然后选择“添加/删除项目”,并选择您的项目。
单击服务器视图中的绿色三角形以启动服务器。
现在Eclipse应该在每次进行更改时自动构建并发布Web应用程序。注意,你必须有m2eclipse插件和m2eclipse WTP集成插件才能工作。