我在 Tomcat 下运行同一个 Web 应用程序的多个实例,为了节省内存,我将一些库复制到 Tomcat 的库 (tomcat\lib) 和共享 (tomcat\shared) 文件夹中。位于 lib 下的库可以被 Tomcat 和 Web 应用程序找到,位于 shared-folder 下的库只能由 Web 应用程序使用。我的 Web 应用程序还需要一些 Web 应用程序级别的库,因此这些库位于 WEB-INF\lib 下。
我在我的 pom.xml 中定义了大多数库都有一个提供的范围,这样它们就不会被复制到 WEB-INF\lib,但是有什么方法可以定义我希望一些库在一个自定义文件夹;例如WEB-INF\lib\tomcat\shared 和 WEB-INF\lib\tomcat\lib,我可以从哪里手动将它们移动到服务器上 Tomcat 的相应文件夹?
最佳答案
这并不是真正推荐的打包依赖项的方法,因为通常无需进一步修改 war 文件即可部署 Web 应用程序。
我认为您可以使用 dependency:copy-dependencies goal 来实现您想要的效果, 但它需要一些配置。您必须将 includeScope
设置为 provided
,设置正确的 outputDirectory
,然后使用 includeGroupIds
或includeArtifactIds
选项。
关于java - 如何为 Maven 中的某些依赖项定义不同的目标文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10617359/