gpt4 book ai didi

java - 用库类替换类

转载 作者:行者123 更新时间:2023-11-30 03:52:49 24 4
gpt4 key购买 nike

我有大量的java源代码(一个开源项目),我想用我自己的类文件“修补”一些类文件以进行调试,而不触及原始代码。

所以我制作了我修改过的补丁项目,例如。 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 插件来做到这一点?

最佳答案

Side-Node:这将是依赖注入(inject)的完美案例。

但要解决您的问题,请使用 maven compiler plugin并编辑开源项目的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(在我看来这有点 hacky):

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

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

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

mvn -Pig verify

关于java - 用库类替换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23952257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com