gpt4 book ai didi

tomcat - 部署:将库 jar 与我自己的类分开

转载 作者:行者123 更新时间:2023-11-28 22:31:01 26 4
gpt4 key购买 nike

我想知道是否有办法将所有需要的 .jars 放在一个单独的 .war/ear 中,这样当我对代码进行微小更改时,我不必将所有库 .jars 部署到服务器?

因为每次我想测试更改/在开发期间上传 50mb(到越位的 Tomcat 服务器)并不是消磨时间的好方法。

我在 SO 上阅读的大多数主题都表明您确实需要一个自包含的 .war 文件。在这种情况下,它仅与 1 个 .war 文件共享。不确定部署描述符中的某种库引用是否可行。

最佳答案

根据Java EE Spec ,您的 .jars 应该部署到 WAR 文件中的 WEB-INF/lib。我见过一些人破解 Tomcat 类加载器以直接从外部拉取(尤其是在 Tomcat 5+ 删除了对 CATALINA_HOME/shared/lib 的支持之后),但这有其明显的缺点。

我建议考虑更改您的部署过程而不是更改代码。您实际上可以对 appBase 进行“分解的 WAR”部署(参见 Tomcat docs ),并且只传输已更改的文件。

我为 Inedo 工作,而且我看到很多用户使用 BuildMaster 执行此操作.工作流程看起来像这样:

  1. 从 $/MyApp 获取最新消息
  2. 运行 Ant (build.xml)
  3. 解压MyApp.war
  4. 创建构建工件
  5. 停止 Tomcat 服务
  6. 将构建工件部署到服务器 (/path/appBase)
  7. 启动Tomcat服务

最后一步(部署构建工件)将只部署更改的文件,这将大大减少部署 50MB 工件所需的时间。

关于tomcat - 部署:将库 jar 与我自己的类分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com