我使用基于maven build的项目设置J2EE Web应用程序。
我有pom.xml,我的应用程序依赖于它。
让我们说我的应用程序只需要示例hadoop-common.jar,log4j.jar,因为pom.xml下载了它的依赖jar。
进程将所有jar分别下载到.m2 / repository - 本地。 当我捆绑战争时,那么WEB-INF / lib有许多罐子和hadoop-common.jar,log4j.jar。
我如何确保只将hadoop-common.jar,log4j.jar包含在我的战争中,而不是它在myWebApp.war中的依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.cvc.pcam_team</groupId>
<artifactId>pcamapplication</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>PCAMApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.4.1</version>
</dependency>
</dependencies>
...
答案 0 :(得分:1)
这些罐子是否与adoop-common一起添加?如果hadoop-common依赖于其他罐子,则可以传递这些罐子。您可以排除以这种方式包含的特定罐子。 https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
根据您排除的内容,hadoop-common可能会停止工作,如果您排除了运行所需的内容。