java-sdk icon indicating copy to clipboard operation
java-sdk copied to clipboard

照着官网的Asset步骤编译成功,但是部署时Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/io/Resource

Open 978740431 opened this issue 3 years ago • 1 comments

参考教程 https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html 代码全部复制此教程内容

部署合约报错,命令

bash asset_run.sh deploy

错误内容:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	at java.lang.Class.getMethod0(Class.java:3018)
	at java.lang.Class.getMethod(Class.java:1784)
	at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

jdk信息

Matching Java Virtual Machines (2):
    1.8.201.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_201 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home

978740431 avatar Mar 05 '22 04:03 978740431

可能是 jar 没有,或者损坏导致的

执行 gradlew 打 jar 包命令后,检查一下 dist/lib 目录下是否有 spring-core 的 jar 包、jar包是否损坏,如果有,可以尝试删除 dist 目录,如果问题依旧存在,尝试删除本地仓库中对应版本的 spring-core jar

PC-Chiu avatar Mar 08 '22 00:03 PC-Chiu