我想從最終的戰爭版本(使用mvn package/install)中排除以下依賴關係。maven依賴戰爭問題
哪個範圍更好?
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.2</version>
<scope>provided</scope>
</dependency>
我想從最終的戰爭版本(使用mvn package/install)中排除以下依賴關係。maven依賴戰爭問題
哪個範圍更好?
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.2</version>
<scope>provided</scope>
</dependency>
您有2個選項,provided
或test
。 provided
也會在測試中排除類路徑中的jar。如果要測試依賴於該依賴關係的代碼,則應該使用test
。
如果你在安裝後仍然在你的war文件中看到這個依賴關係,我們需要更多的信息來進行調試。這可能是因爲你沒有意識到這一點,就不止一次地包含了這個依賴。也可能是另一個依賴包含這個jar,你必須使用exclude標籤去除它。
依賴圖不顯示重複..無論如何,我會分析相同的 – techie2k
取決於您的目標部署服務器。如果您正在應用服務器上部署,例如安裝了JSF庫的Glassfish
,Jboss
等,則scope
提供的是優選的。或者使用排除來消除目標戰爭中的依賴。
或者,如果您正在部署上下文服務器,例如tomcat
,jetty
等,請移除作用域目標以將庫複製到一起以避免依賴性問題。
如果提供了它,它會提供 - 問題是什麼? –
戴夫,我仍然可以在生成的戰爭文件中看到它。我用mvn clean install – techie2k
@ techie2k別的東西可能會依賴於它。 –