由于 InvocationTargetException 错误,合约编译失败
Contract compilation failed because of an InvocationTargetException error
我正在尝试使用 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 一切都应该编译。我不确定为什么这份合同不起作用,但当我创建一个全新的合同时它就起作用了。
查看 <contract.main.class>
项目的 pom.xml
文件。仔细检查这两个标签之间的内容是您的主要名称 Java class 和包名称。如果您认为应该是 AnimalHouse.MyPets
.
<properties>
...
<contract.main.class>AnimalHouse.MyPets</contract.main.class>
...
</properties>
我正在尝试使用 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 一切都应该编译。我不确定为什么这份合同不起作用,但当我创建一个全新的合同时它就起作用了。
查看 <contract.main.class>
项目的 pom.xml
文件。仔细检查这两个标签之间的内容是您的主要名称 Java class 和包名称。如果您认为应该是 AnimalHouse.MyPets
.
<properties>
...
<contract.main.class>AnimalHouse.MyPets</contract.main.class>
...
</properties>