[英]Packaging war file with maven
我以為,如果我的項目名為my-web-application,則比調用mvn clean install
先將maven編譯為target\\my-web-application-1.0
文件夾,然后將該文件夾“壓縮”到my-web-application-中。 1.0。戰爭...
但是,正如我最近發現的那樣,它不是怎么工作的(也許只是默認設置)。
我正在使用一些第三方組件,並且想為這些組件修改一些樣式(.css)和行為(.js),所以我只需使用以下修改即可將依賴項jar中的內容替換為
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<plugin>
執行示例如下(它將org文件夾壓縮到componentToModify.jar)
<execution>
<id>fix</id>
<phase>package</phase>
<configuration>
<executable>jar</executable>
<workingDirectory>${basedir}</workingDirectory>
<arguments>
<argument>-uvf</argument>
<argument>target/${project.artifactId}-${project.version}/WEB-INF/lib/componentToModify.jar</argument>
<argument>org</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
可以正確修改target\\my-web-application-1.0
的componentToModify.jar的內容,但最終的戰爭不包含這些修改。 似乎libs已從本地存儲庫拉開了戰役。
有這種行為的某些原因,我可以以某種方式更改它嗎?
不太確定,但是在這里使用覆蓋圖會有所幫助嗎?
http://maven.apache.org/plugins/maven-war-plugin/overlays.html
如果所有其他方法均失敗,則您可能只想修改第3方應用程序並使用您的更改生成您自己的jar。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.