我有一个简单的java maven项目,其pom.xml如下所示:
4.0.0
com.example
poc
1.0-SNAPSHOT
UTF-8
1.8
${java.version}
${java.version}
0.7.4
org.web3j
core
4.8.4
org.web3j
web3j-maven-plugin
4.6.5如您所见,我正在使用web3j库与我的区块链进行交互,并使用web3j maven插件将我的稳固文件转换为java文件。
当我运行mvn web3j:generate-sources时,它成功地运行并将solidity文件转换为java文件。但是,当我从IDE运行项目的主要方法时,它失败了,出现了以下错误:

从上面的错误消息中,我尝试将构造函数从我的solidity文件和杂注行中移除,然后我的项目构建并运行得很好。因此,我认为我的java项目在某种程度上选择了错误的可靠版本。
关于这里可能发生的事情或如何解决这个问题,有什么建议/提示吗?
发布于 2021-04-01 01:05:22
您可以通过设置以下属性为web3j-maven-plugin指定稳固版本:solidity.version。
在您的示例中,它已经指定为pom文件包含:
...
0.7.4因此,插件将自动安装正确的solc版本,并使用它编译您的合同。
Similarily,用于 Web3j-gradle-插件
您可以通过添加以下内容来指定版本:
solidity {
version = "0.7.4"
}敬你的build.gradle。
https://ethereum.stackexchange.com/questions/95257
复制相似问题