gpt4 book ai didi

java - 替换 jar 并重定向 import 语句

转载 作者:行者123 更新时间:2023-11-30 05:18:32 25 4
gpt4 key购买 nike

我们有一个依赖于特定库的 Java 程序。我们创建了第二个库,它的 API 与第一个库非常相似,但是,这个库是内部制作的,我们已准备好开始测试它。

为了测试,我们想用新库的 jar 替换 Java 程序中的 jar。问题是新库没有完全相同的命名空间,因此导入语句不会对齐。例如,

Java程序

import someLibrary.x.y.Foo;

public class Main {
public static void main(String[] args){
new Foo().bar();
}
}

新库具有相同的 API,但命名空间不同

anotherLibrary.x.y.Foo;

问题:如何使用类加载器或其他工具来运行 Java 程序,同时替换依赖项并将导入语句重定向到另一个命名空间?

[编辑] - 我们无权访问 Java 程序的源代码。我们可以更改此程序以使用我们的新库,但在经过彻底测试之前我们不想这样做。

最佳答案

我能想到的唯一解决方案是编写一个自定义的ClassLoader,它会更改字节码以更改方法引用和字段引用以更改类名称。

关于java - 替换 jar 并重定向 import 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59931772/

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