如何使用Eclipse和Tomcat自动化部署servlet的过程?

时间:2013-09-22 18:51:59

标签: java eclipse tomcat servlets

我正在开发一个Web服务应用程序,尽管这些服务正在运行,但我认为我开发,测试和修复代码的时间浪费了。这就是我正在做的事情:

  1. 我在Eclipse中有一个普通的java项目,我有我所有的代码 用于Web服务。我添加了一个javax.servlet.jar库 构建路径,并使用接收请求 来自service(HttpServletRequest req, HttpServletResponse resp) HttpServlet,并以JSON格式打印结果。我用的是主 测试和修复代码的某些部分的方法

  2. 当我确信我的代码很好时,我会导航到 工作区,复制所有类文件,停止tomcat服务器,删除 在web-inf部署的旧文件,粘贴新的类文件并启动 tomcat服务器。

  3. 我的问题是:有更快的方法吗(ii)所以我可以在编程/测试/修复过程中更快地迭代?我已经看到我可以使用动态Web项目实现我想要的功能,但我担心迁移可能很困难并导致SVN出现问题。

    谢谢!

2 个答案:

答案 0 :(得分:2)

有很多方法可以实现这一目标。

您可以将java项目配置为将.class文件输出到托管您的Web服务的Web应用程序的WEB-INF\classes的{​​{1}}。

docbase

然后浏览到您想要的文件夹。

使用tomcat eclipse plugin从eclipse启动tomcat。默认情况下,它在调试模式下启动。

或者您可以在

下添加 - 至少 - 方面right click on your project > Build path > configure build path > source 到您的项目
Dynamic Web Module

并选择tomcat作为运行时(如果尚未完成,请单击new ...创建一个新的)。在这种情况下,您可以删除right click on your project > properties > Project Facets 的额外jar,因为新运行时添加了您需要的所有库。完成后,您可以使用

在服务器上运行项目
HttpServlet

然后选择要在其上运行项目的服务器。您可以使用right click > run as > run on server 而不是debug as在调试模式下运行。

在这两种情况下,您都可以利用Hot swap abilities of the jvm。如果无法热插拔代码,只需要重新启动服务器,即更改方法签名或将某些字段添加到类中时。

答案 1 :(得分:1)

我喜欢使用Sysdeo tomcat插件进行eclipse。 http://www.eclipsetotale.com/tomcatPlugin.html它允许您指定tomcat将项目中的目标目录用作webapp。允许更换热交换代码,轻松启动,停止和重启。首先从上面的链接下载插件,然后在tomcat灌注ROOT.xml的这个子目录中创建一个文件conf\Catalina\localhost\

内容看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:\workdir\myapp\src\main\webapp" path="/"/>

然后你可以将项目库依赖项添加到tomcats类路径中,同时转到eclipse-&gt; properties-&gt; tomcat-&gt; advanced eclipse-&gt; properties-&gt; tomcat-&gt; source path并检查项目旁边的框