0

我在 Tomcat 下运行同一个 Web 应用程序的许多实例,为了节省内存,我将一些库复制到 Tomcat 的 lib (tomcat\lib) 和共享 (tomcat\shared) 文件夹中。Tomcat 和 Web 应用程序都可以找到 lib 下的库,共享文件夹下的库只能由 Web 应用程序使用。我的 Web 应用程序还需要一些 Web 应用程序级别的库,因此这些库位于 WEB-INF\lib 下。

我在我的 pom.xml 中定义了大多数库都具有提供的范围,因此它们不会被复制到 WEB-INF\lib,但是有什么方法可以定义我希望某些库在自定义文件夹; 例如 WEB-INF\lib\tomcat\shared 和 WEB-INF\lib\tomcat\lib,我可以从哪里手动将它们移动到服务器上 Tomcat 的相应文件夹?

4

2 回答 2

1

创建一个单独的 maven 项目,其中包含 war 文件,并将应位于共享文件夹中的依赖项定义为范围:提供。此外,创建一个具有这些依赖关系的另一个单独的模块,并通过 maven-assembly-plugin 从中创建一个适当的存档...

于 2012-05-16T12:47:20.273 回答
1

这并不是真正推荐的打包依赖项的方法,因为通常无需进一步修改 war 文件就可以部署 Web 应用程序。

我认为您可以使用dependency:copy-dependencies 目标来归档您想要的内容,但这需要一些配置。您必须设置includeScopeprovided,设置正确outputDirectory,然后使用includeGroupIdsorincludeArtifactIds选项定义工件。

于 2012-05-16T11:41:16.183 回答