Ich arbeite an einem Spring -Boot -Projekt, das mit Smart Contracts von Ethereum interagiert. Ich verwende Web3J, um Soliditätsverträge zu kompilieren und ABI-, Binärdateien und Java -Wrapper -Klassen zu generieren. Die generierten Wrapper -Klassen enthalten jedoch die folgenden Probleme: < /p>
[*] Kompilierungsfehler: < /strong> < /p>
Code: Select all
/home/abdulmueedshahbaz/springboot/eth/eth/src/main/java/generated/com/zuehlke/blockchain/model/HelloWorld.java:204:51
java: cannot find symbol
symbol: class LinkReference
location: class org.web3j.tx.Contract
[*]
Falsches Paketname: < /strong>
Die generierten Wrapper -Klassen haben den falschen Paketnamen, der mit meiner Projektstruktur in Konflikt steht und die ordnungsgemäßen Importe verhindert. < /p>
< /li>
< /ol>
Aufgrund dieser Probleme kann ich meine Spring -Boot -Anwendung nicht ausführen. < /p>
Mein Setup: < / H3>
Abhängigkeiten (Maven): < /strong> < /p>
Code: Select all
org.springframework.boot
spring-boot-starter
org.web3j
core
5.0.0
org.web3j
crypto
5.0.0
org.web3j
utils
5.0.0
org.web3j
abi
5.0.0
com.fasterxml.jackson.core
jackson-databind
2.18.2
Code: Select all
org.springframework.boot
spring-boot-maven-plugin
org.web3j
web3j-maven-plugin
4.12.3
com.zuehlke.blockchain.model
src/main/java/generated
true
java,bin
src/main/resources/solidity/
**/*.sol
src/main/java/generated
src/bin/generated
src/abi/generated
HelloWorld
mortal
dep=../dependencies
My Solidity -Dateien fügte SRC/Main/Ressourcen/Solidität/ hinzu. .
[*] Ran MVN Web3J: Generate-Sources So generieren Sie die ABI-, Binär- und Wrapper-Klassen. Die Anwendung. < /li>
< /ol>
Probleme: < /h3>
Die helloWorld.java < /code> Wrapper -Klasse verweist auf eine LinkReference -Klasse, die in org.web3j.tx.contract . (
Code: Select all
com.zuehlke.blockchain.model
Gibt es eine Möglichkeit, sicherzustellen Klassengenerierung? Jede Anleitung wäre sehr geschätzt! < /P>