如何避免在使用tomcat时将jar部署到web内容文件夹中



所以我正面临着一个阻碍我的开发进程的问题。

我正在使用eclipse与tomcat 8。我的软件有3个不同的tomcat服务器,运行在不同的项目上。

同样我的软件被分为8个组件,每一个tomcat服务器使用一些其他的项目。

现在我正在使用Jenkins来构建我的软件,并将jar部署到tomcat服务器的web content文件夹中。

主要问题是构建它需要1分钟,然后我需要刷新eclipse中的所有项目,然后从eclipse中重新启动tomcat服务器。

我正在寻找一种更简单、更快捷的方法来做这件事。

是否有任何方法指向tomcat服务器在eclipse中实际查看项目的src文件夹,而不是寻找jar ?

有一种技术可以让Tomcat从eclipse项目中创建web上下文,而不是构建并部署到Tomcat的webapp文件夹中。主要优点是不需要构建war文件或复制类(像动态web项目那样的文件)。

基本上包括以下内容:

  1. 你有一个eclipse项目与bin文件夹,依赖于jar文件,可能依赖于其他项目和web文件夹包含webapp资源,包括WEB-INF文件夹。
  2. 不是部署到Tomcat,而是在Tomcat server.xml中创建一个上下文,指向Tomcat运行应用程序所需的项目资源。然后Tomcat从项目位置获取类和资源。
  3. 在进行了一些开发并希望Tomcat接收更改后,可以使用Tomcat管理器重新启动应用程序。管理器有一个基于HTTP的接口,所以这甚至可以从命令行完成。

上面的链接描述了如何为Tomcat 7执行此操作。在Tomcat 8中,该技术的语法发生了变化,看起来像这样(您明白了):

<Context path="/mycontext" docBase="/myproj/web">
    <Resources>
        <PreResources webAppMount="/WEB-INF/classes" base="/myproj/bin" className="org.apache.catalina.webresources.DirResourceSet"/>
        <PreResources webAppMount="/WEB-INF/classes" base="/myproj2/web" className="org.apache.catalina.webresources.DirResourceSet"/>
        <PreResources webAppMount="/WEB-INF/lib"     base="/myproj/lib" className="org.apache.catalina.webresources.DirResourceSet"/>
        <PreResources webAppMount="/WEB-INF/lib"     base="/myproj2/lib" className="org.apache.catalina.webresources.DirResourceSet"/>
    </Resources>
</Context>          

很难使@wero解决方案工作。

找到了另一个有用的解决方法:

右键单击project -> build path -> configure build path -> source

你只需要将另一个项目的源代码链接到servlet中。

相关内容

  • 没有找到相关文章

最新更新