繁体   English   中英

用库类替换类

[英]replace classes with library classes

我有大量的Java源代码(一个开放源代码项目),在这里我想用自己的“补丁”一些类文件来调试目的,而不用触碰原始代码。

所以我做了补丁项目,我修改了例如。 com.package.abc.java

现在我想告诉eclipse和/或maven构建原始项目,但是用我第二个项目中修补的abc.java覆盖了/ src中它自己的(原始)com.package.abc.java。 .jar并添加到原始项目的/ libs中。

结构看起来像这样

Original:
/src
 com/package/
  abc.java
  def.java
/libs
 patch.jar

patch:
/src
 com/package/
  abc.java

如何使用Eclipse和Maven插件执行此操作?

旁节点:这将是依赖注入的完美案例。

但是要解决您的问题,请使用Maven编译器插件并编辑开源项目的pom:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <excludes>
      <exclude>**/src/main/java/com/package/abc.java</exclude>
    </excludes>
  </configuration>
</plugin>

编辑:如果您不想编辑原始项目的pom(在我看来,这有点麻烦):

在〜/ .m2 / settings.xml中创建一个配置文件,其中包含插件配置:

<profiles>
  <profile>
    <id>ig</id>
    <plugins>
      <!-- snippet from above -->
    </plugins>
  </profile>
</profiles>

然后使用此配置文件构建开源项目:

mvn -Pig verify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM