Java 用库类替换类

Java 用库类替换类,java,maven,classpath,Java,Maven,Classpath,我有相当多的java源代码(一个开源项目),我想用自己的类文件“修补”一些类文件,以便调试Prupose,而不涉及原始代码 所以我做了一个补丁项目,修改了例如com.package.abc.java 现在,我想告诉eclipse和/或maven构建原始项目,但是使用我的第二个项目中的补丁abc.java从/src重写它自己(原始)的com.package.abc.java,我将其导出为library.jar并添加到原始项目中的/libs中 结构是这样的 Original: /src com/p

我有相当多的java源代码(一个开源项目),我想用自己的类文件“修补”一些类文件,以便调试Prupose,而不涉及原始代码

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

现在,我想告诉eclipse和/或maven构建原始项目,但是使用我的第二个项目中的补丁abc.java从/src重写它自己(原始)的com.package.abc.java,我将其导出为library.jar并添加到原始项目中的/libs中

结构是这样的

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

patch:
/src
 com/package/
  abc.java

如何使用eclipse和maven插件做到这一点?

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

但要解决您的问题,请使用并编辑开源项目的pom:


org.apache.maven.plugins
maven编译器插件
3.1
**/src/main/java/com/package/abc.java
编辑:如果您不想编辑原始项目的pom(在我看来这有点黑客):

在~/.m2/settings.xml中创建包含插件配置的配置文件:


免疫球蛋白
然后使用此配置文件构建开放源代码项目:

mvn -Pig verify

您是否愿意编辑原始项目上的
pom.xml
文件以实现此目的?是的,但正如我所说,我希望尽可能避免接触原始项目。感谢您的回答,我显然可以在8分钟后接受,原因是^^@billdoor不幸地看起来像一个插件参数,无法在命令行上传递,因为没有为该参数定义“用户属性”。@billdoor请参阅我的编辑。在生成项目时,请确保不启用配置文件。此外,由于缺少文件,可能会出现编译错误。