Java 将tomcat和eclipse集成为热部署环境
我希望以集成的方式设置eclipse和tomcat,以便在不需要部署的情况下立即反映对JSP和servlet(如果可能)的更改 好的,这是一个在互联网上有很多答案的问题,但它们看起来都不一样。(使用Sysdeo插件,使用JBOss插件,处理过时的Eclipse,改用MyEclipse等等),我找不到一个明确的参考资料。那么,为了我的利益,什么是最简单和最推荐的设置程序 这假设eclipse和tomcat独立运行。实际上,我已经使用以下说明以非热部署方式成功地集成了它们: Eclipse版本:3.4.2(Ganymede)Java 将tomcat和eclipse集成为热部署环境,java,eclipse,tomcat,Java,Eclipse,Tomcat,我希望以集成的方式设置eclipse和tomcat,以便在不需要部署的情况下立即反映对JSP和servlet(如果可能)的更改 好的,这是一个在互联网上有很多答案的问题,但它们看起来都不一样。(使用Sysdeo插件,使用JBOss插件,处理过时的Eclipse,改用MyEclipse等等),我找不到一个明确的参考资料。那么,为了我的利益,什么是最简单和最推荐的设置程序 这假设eclipse和tomcat独立运行。实际上,我已经使用以下说明以非热部署方式成功地集成了它们: Eclipse版本:3
TomcatV6.0.20最简单、最快速:将Eclipse设置为在构建时生成WAR文件;作为构建后的一个步骤,将WAR文件复制到tomcat webapps目录中。Tomcat将识别更改并刷新站点,而无需部署。注意,这并不完美;使用该webapp的用户可能会有一种不太理想的体验,因为Tomcat会在“他们”下重新启动webapp;但这确实符合您的要求。免责声明:我只是一个快乐的客户,我不为零周转工作,也不与他们有任何关联 签出-它允许您在不重新启动web应用程序的情况下编写代码。它基本上是通过检测类并调整它们的更改来工作的。它处理的问题包括:
- 添加/删除方法
- 添加/删除构造函数
- 改变接口
- 添加/删除已实现的接口
- 圭斯
- 弹簧
- 支柱2
你会得到一个非常无痛的机会——我建议你试试 在您的开发环境中,只需让Tomcat服务器在您开发JSP的任何目录中查找JSP即可。保存文件后,您将能够看到更改。您是否愿意使用Jetty进行开发
如果是这样的话,Maven使用起来非常简单——只需运行就可以让eclipse直接将类文件写入$TOMCAT/webapps/MyWebApp/WEB\u INF/classes目录。然后,配置ApacheTomcat以检查类文件是否已更新,如果已更新,则重新加载它们 要将tomcat配置为在类更改时自动重新加载类,您需要 编辑
$TOMCAT/conf/context.xml
并设置:
您可能还需要编辑并重新加载webapps/$YourWebApp/web.xml
文件,包括:
我不记得是否需要两个更改,但我就是这样配置的
我的tomcat-6.0.18可以自动重新加载。这可能不是最好的方法,但它对我很有用
- $tomcat/conf/Catalina/localhost/.xml
- $contextPath/webapp/web/web-INF/lib/*.jar
- $contextPath/webapp/web/
- $eclispeWorkbench/projectservlet/src/
- $eclispeWorkbench/project servlet/servlet.jardesc(应将jar导出到$contextPath中的lib dir)
- $eclipseWorkbench/project jsp/
在Eclipse for Tomcat中使用远程调试,这将允许有限的代码热交换。如果更改静态字段或添加方法,则需要导出jar并重新启动上下文。将Eclipse中的工作区更改为\tomcat\webapps
因为这只是为了你的工作,这应该很好。您在Eclipse中所做的任何更改都在同一个目录中,tomcat寻找要部署的应用程序如果只是为了开发,为什么不在Eclipse中使用集成的tomcat服务器呢?您可以在窗口->首选项下配置服务器。一旦配置好它,若您有一个名为page.jsp的jsp,您可以右键单击它并选择RunonServer。在“首选项->常规->Web浏览器”下,您可以选择天气以使用内置浏览器或外部浏览器。在浏览器中对jsp进行一些更改、保存和刷新页面。保存并刷新浏览器后,更改将自动反映。有两个选项 首先,Eclipse允许您这样做,只需稍微更改配置(另请参见此)
- 将Tomcat添加到服务器列表中
- 使项目成为“动态web项目”(通过创建向导或通过设置中的facets部分)
- 将项目添加到tomcat,并配置其“部署程序集”
- 双击列表中的tomcat以打开配置
- 将“发布”更改为“从不自动发布”(这意味着在按下ctrl+s键时服务器不会重新启动)
- 在调试模式下启动tomcat
- 配置插件将所有类从bin控制器发送到tomcat安装的
(这与配置部署程序集几乎相同)WEB-INF/classes
- 配置所有其他资源以转到其各自的位置
- (可选)将从文件同步位置设置到单个变量的所有绝对路径外部化,并在eclipse中配置该变量(因此,如果所有成员都在使用eclipse,您也可以提交文件同步设置)
- 将Tomcat添加到eclipse中的服务器列表中,将“服务器位置”选项配置为“使用Tomcat安装”(双击服务器列表中的Tomcat时屏幕打开)
- 在调试模式下启动tomcat
您可以阅读更多关于
<Context path="/myapp" docBase="myapp" debug="5"
reloadable="false" antiResourceLocking="false" antiJARLocking="true">
<!-- this because i´m using Spring 3.1 with Tomcat -->
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader" />
</Context>