当前位置: 代码迷 >> java >> 如何避免在使用tomcat时将jar部署到Web内容文件夹中?
  详细解决方案

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

热度:60   发布时间:2023-07-16 17:43:14.0

因此,我面临的一个问题是拖慢了我的开发过程。

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

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

现在,我正在使用Jenkins来构建软件并将罐子部署到tomcat服务器的Web内容文件夹中。

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

我正在寻找一种更轻松,更快捷的方法。

有什么方法可以将eclipse中的tomcat服务器指向实际查看项目的src文件夹,而不是查找jar。

有一种可以让Tomcat从您的Eclipse项目中创建Web上下文,而不是将其构建并部署到Tomcats webapp文件夹中。 主要优点是不需要构建war文件或复制类(文件由动态Web项目完成)。

基本上涉及以下内容:

  1. 你必须有一个Eclipse项目bin文件夹,在JAR-文件的依赖性,依赖关系可能在其他项目上和web包含web应用程序的资源,包括文件夹WEB-INF文件夹中。
  2. 无需部署到Tomcat,而是在Tomcats server.xml创建一个上下文,该上下文指向Tomcat运行该应用程序所需的项目资源。 然后,Tomcat从项目位置获取类和资源。
  3. 完成一些开发并希望Tomcat接受更改后,您可以使用Tomcats Manager重新启动应用程序。 管理器具有基于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解决方案起作用。

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

右键单击项目->构建路径->配置构建路径->源

比您仅将另一个项目的源链接到servlet一个。

  相关解决方案