我遇到了一些困境,我正在寻求一些帮助来解决它。我有一些源代码,可以从 idls 创建的 jar 文件中导入各种类。现在我得到了这个 idl jar 的新版本,它具有不同的包结构,它破坏了我所有旧的导入语句。我无法修改导入语句,所以我想看看是否有办法解决这个问题。有什么想法吗?
基本上,我被要求使当前的源代码能够与新版本和旧版本的 jar 一起使用,最好不修改代码。我认为这是不可能的,但我希望我是错的。
最佳答案
您可以做一件事:重新创建所有旧类并使它们与新类匹配。例如,如果您有 a.Foo
,现在是 b.foo
,您可以:
package a;
public class Foo {
b.Foo foo;
public void method() {
foo.method();
}
}
package b;
public class Foo {
public void method() {
// Your new code...
}
}
这有点痛苦,但恐怕这是向后兼容所付出的代价。
另一种解决方案,如果您的类结构允许,则可以让 a.Foo
继承 b.foo
,这样您就不必创建所有委托(delegate)方法。但根据您的项目,这可能不起作用。
希望这有帮助。
关于java - 处理jar包结构变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084984/