Corda-编译库与编译cordapps

时间:2019-04-29 13:20:44

标签: corda

从Corda 4.x开始,Gradle中现在有了一个新的cordapp { ... }部分,但是将其注释掉会导致以下异常

  

未设置目标版本,并且无法从项目的Corda依赖关系中确定目标版本。请指定您的CorDapp的目标版本。

就我而言,我不是在构建CorDapp。我正在建立一个依赖Corda的库,供CorDapps使用。

我该怎么做才能确保我的代码被视为库而不是CorDapp并相应地进行编译?

1 个答案:

答案 0 :(得分:0)

在开发旨在用作CorDapp的 part 而不是CorDapp本身的API时,我发现删除了cordapp插件并将show()依赖项替换为A似乎效果很好。

例如...

public class A {
    private int x = 5;

    private void hidden() {
        System.out.println(x);
    }

    public void show() {
        hidden();
    }
}
class B extends A {
    public int x = 10;

    public void hidden() {
        System.out.println(x);
    }

    public void show() { //The new method
        hidden();
    }

    public static void main(String[] args) {
        B b = new B();
        b.show(); //This will print 10 now that show() is overriden
    }
}