1

我正在尝试使用 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 build 命令重新创建了一个项目: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 ,一切都应该编译。我不确定为什么这份合同不起作用,但是当我创建一个全新的合同时,它是。

4

1 回答 1

2

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

<properties>
    ...
    <contract.main.class>AnimalHouse.MyPets</contract.main.class>
    ...
</properties>
于 2019-07-23T21:19:40.717 回答