Java 如何解决Unix中gnu.gcj.runtime.SystemClassLoader中找不到的类
我试图在unix环境中从.jar文件运行java类,但出现以下错误:Java 如何解决Unix中gnu.gcj.runtime.SystemClassLoader中找不到的类,java,unix,Java,Unix,我试图在unix环境中从.jar文件运行java类,但出现以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: SystemBootstrap at gnu.java.lang.MainThread.run(libgcj.so.7rh) Caused by: java.lang.ClassNotFoundException: SystemBootstrap not found in gnu.gcj.runt
Exception in thread "main" java.lang.NoClassDefFoundError: SystemBootstrap
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: SystemBootstrap not found in gnu.gcj.runtime.SystemClassLoader{urls=[],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
我用来运行这个类的命令是
java -cp BatchFramework.jar SystemBootstrap dnqLtrBatch DEV1
SystemBootstrap是要调用的类,我无法解决这个问题。我对unix非常陌生。只有一个解决方案:您必须提供缺少的类。找到包含缺少的类的JAR并使其在运行时可用。@duffymo JAR BatchFramework包含类SystemBootstrap,我已检查BatchFramework是否未正确打包。它不在类路径中。JVM在运行时找不到它。如果这是一个可执行的JAR,我想这意味着你要么没有清单告诉JAR在哪里找到它的依赖项,要么依赖的JAR没有打包到一个“胖”的可执行JAR中。@duffymo好的,那么类路径是正确的?显然不是。它没有将BatchFramework JAR包含在找不到的类中。