我正在構建一個Java項目MaterialsDep
,這是一個用於項目craftbukkit
的插件[加載到我的工作空間以及類型jar和範圍編譯的MaterialsDep的直接依賴項]。在eclipse中查看MaterialsDep的pom依賴關係層次結構CB所需的所有jar顯示爲已解決並正確列出。但是,在項目AP上運行mvn dependency:copy-dependencies
只會複製直接依賴關係而沒有其他任何內容。與M2E的依賴層次不同的Maven依賴關係樹
運行依賴:樹顯示:
[INFO] --- maven-dependency-plugin:2.4:tree (default-cli) @ MaterialsDep ---
[INFO] MaterialsDep:MaterialsDep:jar:0.0.1-SNAPSHOT
[INFO] +- org.bukkit:craftbukkit:jar:1.3.1-R1.1-SNAPSHOT:compile
[INFO] +- org.pircbotx:pircbotx:jar:1.7:compile
[INFO] \- org.bukkit:bukkit:jar:1.3.1-R1.1-SNAPSHOT:compile
這是直接依賴關係。
我應該如何去確保craftbukkit
的依賴被識別和複製?
[編輯]
dependency:tree
爲craftbukkit:
[INFO] org.bukkit:craftbukkit:jar:1.3.1-R1.1-SNAPSHOT
[INFO] +- org.bukkit:bukkit:jar:1.3.1-R1.1-SNAPSHOT:compile
[INFO] +- org.bukkit:minecraft-server:jar:1.3.1:compile
[INFO] +- net.sf.jopt-simple:jopt-simple:jar:3.2:compile
[INFO] +- jline:jline:jar:2.6:compile
[INFO] +- org.fusesource.jansi:jansi:jar:1.8:compile
[INFO] +- org.xerial:sqlite-jdbc:jar:3.7.2:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.14:compile
[INFO] +- org.avaje:ebean:jar:2.7.3:provided
[INFO] | \- javax.persistence:persistence-api:jar:1.0:provided
[INFO] +- org.yaml:snakeyaml:jar:1.9:provided
[INFO] +- com.google.guava:guava:jar:10.0:provided
[INFO] | \- com.google.code.findbugs:jsr305:jar:1.3.9:provided
[INFO] +- commons-lang:commons-lang:jar:2.3:provided
[INFO] +- junit:junit-dep:jar:4.10:test
[INFO] +- org.hamcrest:hamcrest-library:jar:1.2.1:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.2.1:test
[INFO] \- com.google.code.gson:gson:jar:2.1:compile
effective-pom顯示沒有已定義或包含的排除項,如果我正確理解文檔,應該使其默認爲「包含所有」傳遞項。爲了以防萬一,我會放棄它。 – MC78 2012-08-15 19:23:36
也看看'craftbukkit'的POM。 'copy-dependencies'將忽略'可選的'依賴關係。 – 2012-08-16 08:58:53
我已經爲上面的craftbukkit添加了依賴關係樹。我沒有想到'提供的'依賴被複制,但我確實希望'編譯'出現。看看CraftBukkit的有效性,任何地方都沒有可選的功能。 – MC78 2012-08-16 10:17:07