java - 处理jar包结构变化

标签 java import jacorb

我遇到了一些困境,我正在寻求一些帮助来解决它。我有一些源代码,可以从 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/

相关文章:

Java:将多个对象绘制到一帧中

java - 如何修改字段组保存功能?

java - Q : Why is my java. awt.event.*; import 'unused' 但我在我的代码中使用它?

python:导入不是有效标识符的文件?

java - NameContext 中的死锁。列表 ()

java - 获取列表中特定元素的数量

Java 8 流 - 链中的每个步骤都针对整个输入进行评估,还是项目通过?

google-sheets - IMPORTDATA 函数 Google 表格

java - 安装并编译 JacORB