2009-06-04 73 views
3

有没有什么办法可以加速Eclipse和Tomcat中JSF的开发?加速Eclipse和JSF + Tomcat的开发

基本上我正在寻找一种方法来使客户端更改(.jsf,.html,.css,.js)发生得更快,并且无需重新启动tomcat。

如果可能的话,也是一种使tomcat(或任何其他Windows + Eclipse兼容的Servlet容器)更快重启的方法。

因为如果我比较我对ASP.NET/Visual Studio/IIS的体验,感觉我花了半天的时间等待Tomcat重新启动,有时我甚至在浏览器中得到404,因为它不是足够快。

必须有一些其他方式来提高生产力,并且仍然允许更多的测试驱动开发。

+0

您是否在项目中使用Maven? – 2009-06-04 09:31:06

回答

0

强制Tomcat重新编译/重新加载页面的一种快速和肮脏的方法是删除Tomcat的工作目录。在我有限的测试中,它工作正常,但显然,我不会在生产中推荐这个。 :)

0

我相信MyEclipse,如果配置正确,可以让你更新运行在Tomcat中的应用程序,而无需重新启动Tomcat。不幸的是,这是一个商业产品。

Oracle JDeveloper有一个捆绑的OC4J的副本,并且可以在不重启容器的情况下进行更改,而且根据您的环境,这也许是不可能的。

2

万一你使用Maven构建你的项目,你可以使用此命令行中Tomcat来进行测试:

mvn clean war:exploded tomcat:run 

这将运行Tomcat的苗条实例(tomcat的:运行)直接从您正在编辑的源代码(战争:爆炸)中更改您的网络文件(.jsp,.html,.css,.js),因此您只需在浏览器中打开F5

0

如果我没有弄错,你可以复制你的客户端变更(。 jsf,.html,.css,.js)到应用程序的webapps文件夹中,同时它正在运行。我使用的jboss J2EE版本的Eclipse允许一些java代码的热替换。

+0

我直接从Eclipse(通常,Ganymede)运行应用程序,所以没有webapps文件夹给我。有没有办法将webapps文件夹配置为与Eclipse文件夹相同? 在IIS中,我可以在我的开发文件夹中设置一个Visual Directory,以便客户端更改*真*快(甚至不会复制!因为它已经存在)。 – 2009-06-04 10:08:25

0

您可以使用其他容器,而不是tomcat,当您在项目中进行一些更改时,不需要重新启动它。它可以是Jboss。另外,如果你使用一些工具,例如JBoss Tools,你开发得更快更简单:-) 至于我,当你在.css或.xhtml页面进行更改时,你不应该重新启动tomcat,你应该重新发布你的申请。在JBoss Tools中,您可以使用JBoss Tools服务器视图进行创建。

+0

这只是一个配置问题。它和Tomcat以及其他体面的应用服务器一起工作良好,您只需要将autodeploy/hotdeploy设置为true即可。 – BalusC 2009-12-08 18:21:04

0

您应该使用Dynamic Web Projects并告知Eclipse Java EE将其部署到合适的Tomcat实例。这将使Eclipse能够提供所有帮助(但这仍然不是速度)。

0

把这个放在你的web.xml中。

<context-param> 
    <param-name>facelets.REFRESH_PERIOD</param-name> 
    <param-value>1</param-value> 
</context-param> 

这意味着:“应用程序服务器重新编译我的JSP的频率如何”。该值以秒为单位。

+0

虽然效果是一样的,但你的解释是错误的。 Facelets不是JSP,Facelets文件不会被编译。 – BalusC 2012-01-31 16:58:48

+0

感谢您的澄清。 – Mat 2012-02-01 10:20:40