我已经 Build 了一个简单的Eclipse 3.5 / Jetty 6.1 Web应用程序,它可以返回hello world . 有用 . 这是在Windows上并使用“Jetty通用服务器适配器” . 我有自动部署工作,以便它定期更改后部署 .
如何设置它以便如果我更改任何静态内容它不需要重新部署,即我可以直接点击F5查看更改 . 对于轻微的HTML更改,它几乎无法使用,等待20-30秒进行部署 .
如果漫长的部署时间是正常的,也不知道如何优化它,我将从经验中得知 . 但我只是告知这取决于服务器和使用的服务器插件 . 在Apache Tomcat 6 Eclipse提供的插件和Sun Glassfish v3 GF-provided plugin的情况下,自动部署足够快 . 特别是Glassfish v3在启动时相对较慢,在亚秒(热)部署方面确实非常出色 .
第一步是检查是否有替代Jetty Eclipse plugins然后尝试它们和/或是否有设置降低hotdeploy scan interval .
我使用maven配置如下
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.25</version> <configuration> <scanIntervalSeconds>1</scanIntervalSeconds> <requestLog implementation="org.mortbay.jetty.NCSARequestLog"> <append>true</append> </requestLog> </configuration> </plugin>
所以jetty每秒扫描一次更改,对于我的简单应用程序,重启app需要大约200ms . 我注意到有时候看不到jsp文件的变化
您描述的问题可能是this one . 一个已知问题是静态文件在Windows上的Jetty中被锁定 - 这可能会迫使您重新部署 . 通常,您只需编辑文件,无需重新部署任何内容即可查看更改 . 它甚至可以用于类修改(在某种程度上) .
这是我今天第三次做广告,但这是基于Jetty测试的方法:Hifaces20 Testing .
PS . Hifaces20测试不受文件锁定问题的影响,它实现了建议的解决方法 .
我发现,自动部署所需的时间在很大程度上取决于应用服务器 . 我没有使用Jetty进行自动部署,但JBoss(> 10秒)和Glassfish(<3秒)之间的差异很大 .
您可以将应用程序服务器的静态目录链接到Eclipse工作区 . 这样,您可以直接在该目录中编辑文件 .
以下是如何创建这样的链接:文件系统中的新建>文件夹>高级>链接文件夹
4 回答
如果漫长的部署时间是正常的,也不知道如何优化它,我将从经验中得知 . 但我只是告知这取决于服务器和使用的服务器插件 . 在Apache Tomcat 6 Eclipse提供的插件和Sun Glassfish v3 GF-provided plugin的情况下,自动部署足够快 . 特别是Glassfish v3在启动时相对较慢,在亚秒(热)部署方面确实非常出色 .
第一步是检查是否有替代Jetty Eclipse plugins然后尝试它们和/或是否有设置降低hotdeploy scan interval .
我使用maven配置如下
所以jetty每秒扫描一次更改,对于我的简单应用程序,重启app需要大约200ms . 我注意到有时候看不到jsp文件的变化
您描述的问题可能是this one . 一个已知问题是静态文件在Windows上的Jetty中被锁定 - 这可能会迫使您重新部署 . 通常,您只需编辑文件,无需重新部署任何内容即可查看更改 . 它甚至可以用于类修改(在某种程度上) .
这是我今天第三次做广告,但这是基于Jetty测试的方法:Hifaces20 Testing .
PS . Hifaces20测试不受文件锁定问题的影响,它实现了建议的解决方法 .
我发现,自动部署所需的时间在很大程度上取决于应用服务器 . 我没有使用Jetty进行自动部署,但JBoss(> 10秒)和Glassfish(<3秒)之间的差异很大 .
您可以将应用程序服务器的静态目录链接到Eclipse工作区 . 这样,您可以直接在该目录中编辑文件 .
以下是如何创建这样的链接:文件系统中的新建>文件夹>高级>链接文件夹