java.lang.NoClassDefFoundError 当我使用 Eclipse 添加外部 JAR IDE
java.lang.NoClassDefFoundError when I add external JARs using Eclipse IDE
我是 Java 和 Eclipse 的新手。我尝试添加外部 jar 文件并在其中导入 class 但失败了。
在jar文件中导入class,新建实例并调用对象函数的代码如下所示:
import cn.Hello;
public class Test {
public static void main(String[] args) {
Hello h = new Hello();
h.hello();
}
}
Eclipse IDE 不会抛出任何错误。但是当我 运行 使用 Eclipse 时,它抛出:
Exception in thread "main" java.lang.NoClassDefFoundError: cn/Hello
at Test.main(Test.java:5)
Caused by: java.lang.ClassNotFoundException: cn.Hello
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
而我在Eclipse上搭建的项目是这样的:
能否请您帮忙解决一下?
p.s
❯ find .
.
./.DS_Store
./bin
./bin/Test.class
./.classpath
./.gitignore
./.project
./src
./src/Test.java
❯ jar tf /Users/fxb/Desktop/test.jar
META-INF/MANIFEST.MF
cn/Hello.class
cn/edu/Hello.class
实际上我发现我将外部 jar 文件添加到模块路径而不是 class 路径。所以 Eclipse IDE 没有抛出任何错误,但在 运行 时间 Java 抛出 java.lang.NoClassDefFoundError
。我把jar加到class路径后就OK了。它位于:右键单击项目 -> Properties
-> Java Build Path
-> Libraries
-> Classpath
-> Add external JARs
.
我是 Java 和 Eclipse 的新手。我尝试添加外部 jar 文件并在其中导入 class 但失败了。
在jar文件中导入class,新建实例并调用对象函数的代码如下所示:
import cn.Hello;
public class Test {
public static void main(String[] args) {
Hello h = new Hello();
h.hello();
}
}
Eclipse IDE 不会抛出任何错误。但是当我 运行 使用 Eclipse 时,它抛出:
Exception in thread "main" java.lang.NoClassDefFoundError: cn/Hello
at Test.main(Test.java:5)
Caused by: java.lang.ClassNotFoundException: cn.Hello
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
而我在Eclipse上搭建的项目是这样的:
能否请您帮忙解决一下?
p.s
❯ find .
.
./.DS_Store
./bin
./bin/Test.class
./.classpath
./.gitignore
./.project
./src
./src/Test.java
❯ jar tf /Users/fxb/Desktop/test.jar
META-INF/MANIFEST.MF
cn/Hello.class
cn/edu/Hello.class
实际上我发现我将外部 jar 文件添加到模块路径而不是 class 路径。所以 Eclipse IDE 没有抛出任何错误,但在 运行 时间 Java 抛出 java.lang.NoClassDefFoundError
。我把jar加到class路径后就OK了。它位于:右键单击项目 -> Properties
-> Java Build Path
-> Libraries
-> Classpath
-> Add external JARs
.