【问题标题】:How can I avoid from deploying jars into the web content folder while using tomcat?如何避免在使用 tomcat 时将 jars 部署到 web 内容文件夹中?
【发布时间】:2015-07-26 09:53:46
【问题描述】:

所以我遇到了一个减缓我的开发过程的问题。

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

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

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

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

我正在寻找一种更简单、更快捷的方法。

有没有办法让 eclipse 中的 tomcat 服务器实际查看项目的 src 文件夹而不是查找 jar?

【问题讨论】:

  • 你考虑过使用 JRebel 吗?
  • 在 tomcat server.xml 中,为每个应用程序声明上下文标签,使用 reloadable="true" 重新加载应用程序,或者在主机标签中指定 autoDeploy="true",以在以下情况下重新加载或重新部署应用程序检测到的变化

标签: java eclipse tomcat tomcat8


【解决方案1】:

有一个technique 可以让 Tomcat 从您的 eclipse 项目中创建 Web 上下文,而不是构建和部署到 Tomcat 的 webapp 文件夹。主要优点是不需要构建war 文件或复制类(文件就像动态网络项目所做的那样)。

基本上涉及以下内容:

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

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

<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>          

【讨论】:

    【解决方案2】:

    很难让@wero 解决方案发挥作用。

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

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

    比你只是将另一个项目的源链接到 servlet 之一。

    【讨论】:

      猜你喜欢
      • 2013-09-13
      • 1970-01-01
      • 2011-08-07
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多