2015-12-18 4 views
0

У меня есть настройка веб-приложения J2EE с использованием проекта на основе maven.Java Maven pom.xml - проблема с зависимостями

У меня есть pom.xml, где у меня есть зависимости для моего приложения.

Предположим, что для моего приложения нужен только пример hadoop-common.jar, log4j.jar, потому что pom.xml загружает баны зависимостей.

Процесс загружает все банки в .m2/репозиторий - локально. Когда я связываю войну, тогда 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

Являются ли эти банки добавленными вместе с общими? Если hasoop-common зависит от других банок, они могут быть добавлены транзитивно. Вы можете исключить определенные банки из того, чтобы быть включенными таким образом. https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

В зависимости от того, что вы исключаете, hasoop-common может перестать работать, если вы исключите что-то, что необходимо для его запуска.

+0

Нет ** это неверное предположение **, я тестировал это только с 10 баночками, и мое приложение работало без каких-либо проблем, используя Ant build, но Maven build загружает загрузочные баночки только для компиляции и комплектов с войной, есть нет смысла связывает все банки, это не совсем хорошо, я думаю. Нужен какой-то эксперт может предоставить решение –

+0

Не могли бы вы указать, какие файлы jar добавлены, которые вы не хотите? – Robin

+0

предоставьте электронное письмо, я отправлю снимок экрана здесь, я могу поделиться 101 баночкой plz –

Смежные вопросы