出现错误的信息:
Error: at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398)
at java.lang.Class.getConstructor0(Class.java:2708)
at java.lang.Class.newInstance0(Class.java:328)
at java.lang.Class.newInstance(Class.java:310)
at DummyClassLoader.getScriptObject(DummyClassLoader.java:137)
Error: Can't create script object.
Error: Exception was raised when calling abort-cleanup function in extension java_int.dll: System Exceptions: EXCEPTION_ACCESS_VIOLATION
Warning: Extension trans.dll reports error -1 on call to function ExtAbortCleanup
查询及分析过程:
之前没有遇到过类似的问题,去查了许多相关问题的解答,大致意思都是说本地的JDK不匹配的问题。
然后就是不停的更换本地的JDK版本进行尝试,依然报错:
然后又看了许多问题的解答,注意到一位网友的回答:(https://m.imooc.com/qadetail/119784)
然后联想到,我编写脚本所依赖的jar包,编译使用的JDK版本可能不匹配。
但是,我让开发帮忙重新打的对应版本的jar包却不行,依然报以上错误。
我自行尝试使用对应的JDK版本进行编译导出的jar包可以运行。
这个就不清楚,可能开发给我的jar包对应版本也不正确。~.~
事情进行到这里,以上问题其实已经算是解决了。
但是,运行脚本又遇到没有加载到logback的相关信息,这个脚本依赖logback环境。
故,自己又去找了半天项目对应的logback.jar包,添加到脚本依赖中,运行成功。
参考回答
以上就是大致的问题解决过程。