我在将外部 .class 文件导入 eclipse 项目时遇到问题。我已经阅读了大部分相关问题,但这些答案对我都没有用。这是我的项目的以下代码:
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
import timing.Timing;
public class Test {
public static void main(String[] args){
int seed = 518406;
long begin = 0;
long end = 0;
ThreadMXBean bean = ManagementFactory.getThreadMXBean();
for(int i = 1; i < 10000; i=i*2){
begin = bean.getCurrentThreadCpuTime();
Timing.trial(i, seed);
end = bean.getCurrentThreadCpuTime();
System.out.println(i + ": " + (end - begin) + "ns");
}
}
我通过将 Timing.class 文件放在/lib/timing/Timing.class 中进行导入,并将 lib 文件夹作为类文件夹添加到构建路径中。在构建路径窗口的 Order and Export 选项卡中,我已将 lib 文件夹移动到顶部并检查它。
运行上面的代码时出现以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: Timing
at Test.main(Test.java:14)
Caused by: java.lang.ClassNotFoundException: Timing
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
谁能帮我找出问题所在?
最佳答案
在堆栈跟踪中,这一行看起来很奇怪
线程“main”中的异常 java.lang.NoClassDefFoundError: Timing
似乎 java 在默认包中搜索 Timing
而不是在 timing
包中。检查这一刻。
2 你如何运行这段代码?来自 Eclipse? 如果是,请检查此次启动的 Eclipse 运行配置。可能是您将类文件夹添加到构建路径但不添加它启动类路径。
关于java - 如何在 Eclipse 中使用外部 .class 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021499/