我想覆盖另一个人的项目,使用特定文件的自定义(即一个文件将使用不同的控制器,或以一种方式显示或有不同的过程)。我们一直在使用一个覆盖文件,它将我存储库中的所有文件都覆盖,并将所有文件覆盖在文件的顶部,这样我的一小组定制仍然像大型项目一样工作。到目前为止,我们已经完成了它,但它对IDE造成了严重破坏。有没有更好的办法?我尝试过使用maven-builder-helper-plugin,但它给了我重写的java文件的重复类。创建一个工件覆盖
<build>
<sourceDirectory>target/overlay</sourceDirectory>
<resources>
<resource>
<directory>target/overlay</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<tasks>
<copy todir="target/overlay" overwrite="true">
<fileset dir="src/main/java">
</fileset>
<fileset dir="src/main/resources">
</fileset>
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.sample.service</groupId>
<artifactId>sampleService</artifactId>
<classifier>sources</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>target/overlay</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
我应该注意到,我使用不同的方向比这个绝对好。我只是想不出一个更好的方式来包含所需的资源文件,以保证项目正常运行。这是一个模块,是一个Web应用程序的一部分。正在构建的模块和它所覆盖的模块都是jar的
它是一个网络应用程序吗?你正在重建他们的应用程序吗?如果是这样,你可以添加你的项目作为战争覆盖使用基本的Maven。 –
这是一个网络应用程序,我只是对某些文件进行自定义。所以像罐子和资源中的东西。我试图使用战争覆盖,但它没有得到正确的xwork xml文件 – user1760412