0

I am using maven build tool.

The following two are my intentions.

1) To move some of the third party library jars out of my war from WEB-INF/lib folder [note: These jars are common between more than 2 war files (or artifacts)]

2) To make the war file small in size.

Is it possible to move those jars out of war and put it into a folder and these jars should be referred in the classpath only by the wars which require it.

I have tried adding the path to the jars in the Class-Path: of MANIFEST.MF of war files but it did not work out. Please help me out.

4

1 回答 1

0

我认为有问题的 jar 是编译构成 Web 应用程序的代码所必需的。如果第三方 jar 是编译所必需的,但您不希望它们出现在您的 war 文件中,您有两种选择:

  1. 在第三方 jar 的 <dependency></dependency> 部分中,添加“<scope>provided</scope>”。

  2. 配置 maven 战争插件以排除战争中不需要的罐子。有关详细信息,请参阅http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html

如何将您从战争中排除的 jar 文件放入 Web 容器的类路径取决于您的环境。如果您使用的是 ear 文件,上面的 Maven 文档讨论了如何获取包含在 ear 文件中的 jar。如果您不使用 ear 文件,则必须想出自己的方法将 jars 放入容器的 lib 目录。

于 2012-04-20T19:39:47.813 回答