我已经创建了一个库并将其导出到我试图导入到我的eclipse项目并使用的jar文件中。 Eclipse说没有问题,但是当我调试应用程序时,它进入新线程然后去实例化对象,然后抛出ClassNotFoundException
ClassNotFoundException(Throwable)。(String,Throwable)行:217 ClassNotFoundException(Exception)。(String,Throwable)line:not available ClassNotFoundException。(String)line:not available
URLClassLoader $ 1.run()行:不可用
AccessController.doPrivileged(的PrivilegedExceptionAction, AccessControlContext)行:不可用[native method] Launcher $ ExtClassLoader(URLClassLoader).findClass(String)行:不行 可用的Launcher $ ExtClassLoader.findClass(String)行:不行 可用的Launcher $ ExtClassLoader(ClassLoader).loadClass(String, boolean)line:not available
Launcher $ AppClassLoader(ClassLoader).loadClass(String,boolean)行: 不可用的Launcher $ AppClassLoader.loadClass(String,boolean) line:not available
Launcher $ AppClassLoader(ClassLoader).loadClass(String)行:不行 可用的HKServiceListener.run()行:33 Thread.run()行:不行 可用
它找不到的课程是com.snow.IO.SnowTcpServer
。我已将外部jar包含在我的类路径中,并且没有编译错误。它只在运行时抛出。我甚至在文件的顶部有import com.snow.IO.SnowTcpServer
。
为什么不认识我的班级,我该怎么做?
答案 0 :(得分:1)
您的类路径有问题没有其他原因导致classload无法在您的类中找到文件,尝试使用命令行手动运行您的类(编译类)而不使用eclipse
java -cp [your jars separated with ";" - widows or ":" - *nix] com.your.Class
例如:
java -cp /libs/lib1.jar:/libs2/* com.your.Class
答案 1 :(得分:0)
如果您正在运行企业应用程序,请确保Jar也可用于部署。这需要另外配置
对于J2SE应用程序,请检查您的jar是否在run_configuration属性,classpath选项卡中可见。
如果这不起作用,请尝试在run_configurations选项中明确地在jar路径选项中包含jar文件。
答案 2 :(得分:0)
事实证明,错误只是在使用调试器时引起的。这与我进入的代码是在外部jar文件而不是我的源代码中这一事实有关。