【发布时间】:2022-08-16 00:58:42
【问题描述】:
我正在开发一个带有战争外部依赖项的 Maven 项目(让我们称之为战争依赖项战争部)
在构建之后和打包阶段,我正在获取战争部并使用 maven-war 插件的覆盖功能将其与当前构建的内容合并。
在战争部我们里面有一些必需的罐子WEB-INF/库文件夹,所以有了覆盖,我们最终得到了我们在最后一场战争中需要的一切,但是当项目为我们提供战争部战争中添加了一个新文件夹WEB-INF/lib-new并移动了一些我们以前在WEB-INF/库文件夹到这个新文件夹WEB-INF/lib-new.
在使用这个新版本的战争部覆盖按预期工作,因此我们最终在 WEB-INF 中有两个文件夹(lib 和 lib-new),并且我们的应用程序停止工作,因为这Tomcat 服务器无法识别 WEB-INF/lib-new.因此,在不更改 tomcat 端的类路径的情况下,有没有办法可以在生成战争之前将 lib-new 的内容移动到 lib 文件夹中?我的意思是例如在覆盖期间,但我不确定如何执行此操作。 感谢您的投入。
-
您要解决哪个潜在问题?
-
你为什么使用
/lib-new之类的东西?没有意义...因为它不是默认值... -
@ThorbjørnRavnAndersen 该应用程序需要添加到 WEB-INF/lib-new 中的所有 jar 才能正常工作,但在运行时不会在 tomcat 上下文中加载文件夹。 tomcat 仅从 WEB-INF/lib 目录加载依赖项。我的解决方案是在覆盖(maven 包阶段)期间将我们在 lib-new 中的所有 jar 放入 lib 文件夹中,但不知道如何实现。如果有的话,请随时提出另一种修复方法。谢谢
-
@khmarbaise war-dep 是一堵外墙(由第三方实体建造),因此我们无法控制它。
标签: java maven tomcat maven-war-plugin