Wenn ich laufen „mvn Abhängigkeit: Baum“ für mein Projekt es zeigt folgendes:Maven bringt „test“ transitive Abhängigkeit als „kompilieren“
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ xxxxx ---
[INFO] com.xxx.xxx:xxxxx:war:3.1.0-SNAPSHOT
...
[INFO] +- commons-configuration:commons-configuration:jar:1.5:compile
[INFO] | \- commons-beanutils:commons-beanutils-core:jar:1.7.0:compile
[INFO] +- org.seleniumhq.selenium:selenium-api:jar:2.34.0:test
[INFO] | +- com.google.guava:guava:jar:14.0:test
[INFO] | \- org.json:json:jar:20080701:test
[INFO] +- org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.34.0:test
[INFO] | +- org.seleniumhq.selenium:selenium-remote-driver:jar:2.34.0:test
[INFO] | | +- cglib:cglib-nodep:jar:2.1_3:test
[INFO] | | +- net.java.dev.jna:jna:jar:3.4.0:test
[INFO] | | \- net.java.dev.jna:platform:jar:3.4.0:test
[INFO] | \- net.sourceforge.htmlunit:htmlunit:jar:2.12:test
[INFO] | +- org.apache.commons:commons-lang3:jar:3.1:test
[INFO] | +- org.apache.httpcomponents:httpmime:jar:4.2.3:test
[INFO] | +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.12:test
[INFO] | +- xerces:xercesImpl:jar:2.10.0:test
>>>[INFO] | | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.18:test
[INFO] | +- net.sourceforge.cssparser:cssparser:jar:0.9.9:test
[INFO] | | \- org.w3c.css:sac:jar:1.3:test
[INFO] | \- org.eclipse.jetty:jetty-websocket:jar:8.1.9.v20130131:test
[INFO] +- org.seleniumhq.selenium:selenium-firefox-driver:jar:2.34.0:test
...
Wie Sie sehen auf der markierten Linie, die XML-apis hat "compile" scope, und als Ergebnis wird es in WAR-Datei gepackt. Warum konnte es passieren?
Interessanterweise passiert es nur, während Java5 verwendet wird, für Java6 erscheint die Abhängigkeit als "Test".
Maven Version: 3.0.4
Wird 'xml-api' nicht anderswo als eine andere Abhängigkeit angezeigt? –
Testabhängigkeiten werden niemals in einen Krieg verpackt, außer du hast etwas Seltsames getan. Bitte zeigen Sie Ihre Pom-Datei. – khmarbaise
@khmarbaise Ich weiß, aber aus irgendeinem Grund habe ich es! Die Pom-Datei ist ziemlich groß, es gibt mehrere Eltern Poms ... Ich habe nicht versucht, minimale Code-Probe zu extrahieren, ziemlich langweilig, aber absolut nichts besonderes über 'Selen-Htmlunit-Treiber-Abhängigkeit, wie üblich erklärt. – kan