我认为,如果我的项目名为 my-web-application,那么当我调用mvn clean install
maven 时首先编译到target\my-web-application-1.0
文件夹,然后将该文件夹“压缩”到 my-web-application-1.0.war ...
但正如我最近发现的那样(也许只是使用默认设置)它不是这样工作的。
我正在使用一些第 3 方组件,我想为这些组件修改一些样式(.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>
什么正确地修改了 componentToModify.jar 中的target\my-web-application-1.0
,但最终的战争不包含修改。似乎库已从本地存储库压缩到战争。
这种行为有什么原因吗?我可以以某种方式改变它吗?