配置Maven以便它使用jar进行编译,但在捆绑到war文件时将其排除

时间:2015-09-26 09:29:34

标签: maven

我要求使用Maven自定义项目。我们有3个项目基于Spring&休眠。因此,构建时每个WAR文件中都有重复的jar,这会在部署时不必要地增加大小。

因此我们决定将所有jar依赖项保存到一个名为“CommonJars”的项目中,其他现有项目将使用它们。对于部署,我们希望生成“CommonJars”的TAR / ZIP文件(虽然部署它应该在文件夹中提取,很可能是Tomcat的lib文件夹,因为它在webapps文件夹中部署的项目是通用的)和其他不带jar的WAR文件。这样我们就可以减少3个项目的WAR文件的大小。

有人可以告诉我如何实现这一目标吗?由于我是Maven的新手,我无法为此找到合适的解决方案。

1 个答案:

答案 0 :(得分:4)

我不同意你的方法,但为了解决你的maven问题,你需要在你的maven依赖中包含一个'范围'。

示例:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.0.1.Final</version>
    <scope>provided</scope>
</dependency>

Maven Scope'提供'将允许您编译您的项目,但maven将不会将它们包含在您的战争中。

祝你好运。