2012-05-28 81 views
0

我在pom.xml這種依賴關係:防止Maven來的依賴複製到WEB-INF lib文件夾

<dependency> 
     <groupId>com.google.appengine</groupId> 
     <artifactId>appengine-testing</artifactId> 
     <version>${appengine.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.google.appengine</groupId> 
     <artifactId>appengine-api-stubs</artifactId> 
     <version>${appengine.version}</version> 
     <scope>test</scope> 
    </dependency> 

然而,儘管範圍「測試」的罐子還在複製到文件夾WEB-INF\lib

src\main\webapp\WEB-INF\lib 
+1

如果你有任何jar被複制到'src/main/webapp/**',那麼你做錯了什麼。您的'target'目錄之外不應該有任何jar。如果你追蹤下來,你可能會偶然發現是什麼讓測試瓶出現。 –

+0

你在某處使用[maven dependency plugin](http://maven.apache.org/plugins/maven-dependency-plugin/)嗎?如果是這樣,你可以發佈相關的代碼片段嗎? – Raghuram

+0

運行mvn依賴:樹並讓我們知道它是否出現在某個地方作爲非測試sep – ianpojman

回答

1

我在這裏看到2個可能的場景。

1)這些依賴某個地方引用(直接或不能)用compileruntime範圍除了其test -scoped使用。然後,這個更廣泛的範圍被有效地用來滿足他們的所有需求。

2)你可能(無意識地)使用Maven Dependency Plugin或類似的東西來做這種混亂的一些依賴性處理攻擊。

最後有一個問題:我認爲這個src/main/webapp/WEB-INF/lib目錄實際上是空的(可能甚至不存在),這是你的錯誤。正如@Ryan在他的評論中所說的,所有的庫(以及其他構建工件)都應該在target目錄下。

相關問題