簡體   English   中英

Maven:僅復制WEB-INF / lib中的選定jar

[英]Maven : Copy only selected jars inside WEB-INF/lib

在我的Maven項目中,我具有某些依賴關系,這些依賴關系應該存在於WEB-INF / lib中。 我不能將所有jar放到WEB-INF / lib中,只能放到選定的jar中。 如何去做呢?

我不能使用maven-resources插件,因為那樣的話,我不得不在<include>標記內提及整個jar的名稱,並且需要保持動態。

我嘗試使用<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>但是這沒有給我一個選項,只能在lib文件夾中插入選定的jar。

我也嘗試對某些jar使用<scope>provided</scope> ,但是由於這個原因,jar的名稱未添加到manifest.mf文件內的classpath字段中。

請提出一些解決方案。 提前致謝!

您可以使用Assembly插件和自定義的程序集描述符。 在描述符中,可以使用工件ID,組ID,版本和作用域設置要復制的jar。 它還支持正則表達式。 https://maven.apache.org/plugins/maven-assembly-plugin/advanced-descriptor-topics.html

這可能不是將WEB-INF/lib/嵌套目錄的內容打包到WAR文件中的最佳方法,但是在如何將所有必需的jar放入帶有maven的最終jar中的lib文件夾的問題中提出了實現。 (使用maven-dependency-plugin插件)解決了將所有相關jar捆綁到最終jar的lib/目錄中的JAR需求。 奇怪的是,這是一個常見問題,有許多不同的解決方案。 此實現實際上將jar捆綁在嵌套的lib/目錄中,而其他示例則提取了我依賴的jar的內容,並將其類放在我的類旁邊。 因此,這可能使您更接近一點,但可能不是處理WAR文件的庫deps的正式方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM