Новые зависимости могут быть там из-за различной версии библиотеки в старом проекте non-maven и новом проекте maven.
Предположим, что проект non-maven использовал JUnit в версии 3.8.
pom.XML
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sub.optimal</groupId>
<artifactId>foo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
в этом примере вы бы только JUnit в зависимости
mvn dependency:tree
выход
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ suboptimal ---
[INFO] com.example:suboptimal:jar:0.0.1-SNAPSHOT
[INFO] \- junit:junit:jar:3.8:test
Если сейчас в проекте Maven будет использовать версию 4.12 (вместо предыдущего 3.8) вы увидите следующие зависимости (после изменения номера версии в pom.xml
)
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
выход будет
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ suboptimal ---
[INFO] com.example:suboptimal:jar:0.0.1-SNAPSHOT
[INFO] \- junit:junit:jar:4.12:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
За проявленные зависимости junit:junit:jar:4.12:test
test
означает, что он не во время выполнения зависимостей. Необходимо выполнить предоставленные тесты.
В Netbeans вы видите сейчас, как в качестве теста-зависимости
![enter image description here](https://i.stack.imgur.com/oqofK.png)
Существует еще один способ показать зависимости непосредственно в Netbeans. Когда вы откроете pom.xml
, нажмите на Graph
и только в первый раз после его открытия на Show Graph
.
![show dependency graph](https://i.stack.imgur.com/Z1WDB.png)
Вы дерево визуального DEPENDENCY
![dependency tree](https://i.stack.imgur.com/smxoU.png)
редактировать: Вы еще не сказали, что использует ваш старый проект. Но найдите один пример для axis2 kernel
ниже.
Когда новый проект добавить следующие зависимости
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.6.1</version>
</dependency>
объявление зависимостей с mvn dependency:tree
откосов ниже compile time
зависимости (необходимые также для выполнения, см Maven dependency scopes)
[INFO] \- org.apache.axis2:axis2-kernel:jar:1.6.1:compile
[INFO] +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.12:compile
[INFO] | +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:compile
[INFO] | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.6:compile
[INFO] | +- jaxen:jaxen:jar:1.1.1:compile
[INFO] | \- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[INFO] +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.12:compile
[INFO] | \- org.codehaus.woodstox:wstx-asl:jar:3.2.9:compile
[INFO] +- org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.2:compile
[INFO] +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1:compile
[INFO] +- javax.servlet:servlet-api:jar:2.3:compile
[INFO] +- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | \- commons-codec:commons-codec:jar:1.2:compile
[INFO] +- commons-fileupload:commons-fileupload:jar:1.2:compile
[INFO] +- wsdl4j:wsdl4j:jar:1.6.2:compile
[INFO] +- org.apache.ws.commons.schema:XmlSchema:jar:1.4.7:compile
[INFO] +- org.apache.neethi:neethi:jar:3.0.1:compile
[INFO] +- org.apache.woden:woden-api:jar:1.0M9:compile
[INFO] +- org.apache.woden:woden-impl-dom:jar:1.0M9:compile
[INFO] | \- org.apache.woden:woden-impl-commons:jar:1.0M9:compile
[INFO] +- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] \- javax.ws.rs:jsr311-api:jar:1.0:compile
Так почему он выглядит теперь ваш старый проект им не нужен? Предполагая, что ваш старый проект использует файл axis2.war
(извлечен из axis2-1.6.1-war.zip). Зависимости встроены.
jar -tf axis2.war | grep geronimo-ws-metadata
выход
WEB-INF/lib/geronimo-ws-metadata-LICENSE.txt
WEB-INF/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar
Вы можете найти его с 'МВН зависимостью: tree'. – SubOptimal
@SubOptimal старый проект не является pom one, он не принимает команду mvn – shabby
Он предназначался для нового проекта maven, чтобы увидеть, откуда происходит зависимость. Являются ли зависимости, которые вы добавляете в 'pom.xml' той же версии? Это может быть причиной того, что зависимость показана для библиотеки, которую вы добавили. – SubOptimal