簡體   English   中英

用Maven打包戰爭文件

[英]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.

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