【问题标题】:Contract compilation failed because of an InvocationTargetException error由于 InvocationTargetException 错误,合约编译失败
【发布时间】:2019-07-23 19:42:49
【问题描述】:

我正在尝试使用 Maven 与 Aion 创建 Java 合约,但每次尝试运行 mvn clean install 时,都会收到以下错误:

[ERROR] Failed to execute goal org.aion4j:aion4j-maven-plugin:0.6.7:postpack (default) on project LearningAion: Contract Jar post compilation failed: InvocationTargetException: NullPointerException -> [Help 1]

我使用 Maven 构建命令重新创建了一个项目:mvn archetype:generate -DarchetypeGroupId=org.aion4j -DarchetypeArtifactId=avm-archetype -DarchetypeVersion=0.20,该项目运行良好。

这是我的合约代码:

package AnimalHouse;

import avm.Blockchain;
import org.aion.avm.tooling.abi.Callable;

public class MyPets
{
    private static String myDogsName = "Alan.";

    @Callable
    public static String getString() {
        return myString;
    }

    @Callable
    public static void setString(String newStr) {
        myString = newStr;
    }
}

根据Aion Docs,一切都应该编译。我不确定为什么这份合同不起作用,但当我创建一个全新的合同时,它是。

【问题讨论】:

    标签: java maven aion oan


    【解决方案1】:

    查看您项目的pom.xml 文件中的<contract.main.class>。仔细检查这两个标签之间的内容是您的主要 Java 类的名称和包名称。如果你认为它应该是AnimalHouse.MyPets

    <properties>
        ...
        <contract.main.class>AnimalHouse.MyPets</contract.main.class>
        ...
    </properties>
    

    【讨论】:

      猜你喜欢
      • 2020-08-07
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      相关资源
      最近更新 更多