0

谷歌对此有一些答案,但它们都是为使用 Maven 的人准备的。我没有使用 Maven,所以我很难过。我有其他项目没有使用 AspectJ 插件,他们的 JUnit 测试在 Eclipse 中运行良好。我无法弄清楚为什么 Eclipse 找不到该类。我右键单击类本身,然后告诉它作为 JUnit 测试运行。它适用于我的非 AspectJ 项目中的 JUnit 测试。有人可以帮忙吗?

Class not found BasicSpectrogramPeriodogramTests
java.lang.ClassNotFoundException: BasicSpectrogramPeriodogramTests
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
4

2 回答 2

1

以前我遇到过类似的问题,问题是由于外部库(例如 Selenium 服务器)的构建路径损坏。所以首先请打开构建路径(右键项目->构建路径->配置构建路径)并验证所有外部库都可以成功加载(有'无法加载'之类的消息)。很可能在优化或添加外部工具(如 Ant)时重命名/移动了库。希望这可以帮助

WBR,安德烈

于 2011-10-27T09:39:32.217 回答
0

AspectJ 插件可能会影响您的构建类路径,但不会影响运行时类路径。为您的类创建一个启动器条目,然后显式设置类路径以包含该 jar。

使用 Eclipse 的“加载类型”函数来查看它从哪里加载类。

Ctrl-Space-T 拉出一个对话框。输入目标类名“BasicSpectrogramPeriodogramTests”。它应该在所有列出的类的类名右侧或选定类的对话框底部附近显示工作区中的包名称和位置。这将包括 jar 及其路径(如果这是 Eclipse 加载的方式)。

确保您的类的路径是运行时配置类路径中的路径。将它显式添加到类路径的顶部,即使它是一个副本。

于 2010-11-30T15:52:25.080 回答