Java Maven pom.xml - 依赖项问题

时间:2015-12-18 10:31:38

标签: pom.xml

我使用基于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>

...

1 个答案:

答案 0 :(得分:1)

这些罐子是否与adoop-common一起添加?如果hadoop-common依赖于其他罐子,则可以传递这些罐子。您可以排除以这种方式包含的特定罐子。 https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

根据您排除的内容,hadoop-common可能会停止工作,如果您排除了运行所需的内容。