我在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在服务器上的相应文件夹中?
答案 0 :(得分:1)
这并不是推荐的打包依赖关系的方法,因为通常会部署Web应用程序而不会对war文件进行任何修改。
我认为你可以使用dependency:copy-dependencies goal来达到你想要的效果,但这需要一些配置。您必须将includeScope
设置为provided
,设置正确的outputDirectory
,然后使用includeGroupIds
或includeArtifactIds
选项定义工件。
答案 1 :(得分:1)
创建一个单独的maven项目,其中包含war文件,并定义应该位于share-folder中的依赖项作为scope:provided。此外,创建另一个具有这些依赖关系的独立模块,并通过maven-assembly-plugin从中创建适当的存档...