2010-11-30 97 views
0

Google對此有一些答案,但它們都適用於使用Maven的人。我沒有使用Maven,所以我很難過。我有其他不使用AspectJ插件的項目,他們的JUnit測試在Eclipse中運行良好。我無法弄清楚爲什麼Eclipse找不到這個類。我右鍵單擊類本身,然後我告訴它作爲JUnit測試運行。它適用於我的非AspectJ項目中的JUnit測試。任何人都可以幫忙嗎?對於Eclipse中的AspectJ項目中的JUnit測試,ClassNotFoundException

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) 
+1

能否請您提供堆棧跟蹤,使人們可以更準確地診斷問題是什麼? – DeliveryNinja 2010-11-30 15:10:31

+1

ClassNotFoundException?哪些類...... Eclipse會給你什麼錯誤? – 2010-11-30 15:12:58

回答

0

AspectJ插件可能會影響您的構建類路徑,但不會影響運行時類路徑。爲你的類創建一個啓動項,然後明確地設置classpath以包含jar。

使用Eclipse的'加載類型'函數來查看它從哪裏加載類。

Ctrl-Space-T拉起對話框。輸入目標類名「BasicSpectrogramPeriodogramTests 」。它應該在工作區中顯示程序包名稱和位置,或者顯示所有列出類的類名右側,或者顯示選定類的對話框底部。這將包括jar和它的路徑,如果它是由Eclipse加載的。

確保您的類的路徑是運行時配置類路徑中的內容。明確地將它添加到類路徑的頂部,即使它是一個dup。

1

以前我遇到類似的問題,問題是因爲外部庫(例如Selenium服務器)的構建路徑損壞。因此,首先請打開構建路徑(右鍵單擊項目 - >構建路徑 - >配置構建路徑),並驗證所有外部庫可以成功加載(有'無法加載'的消息)。很可能在優化或添加外部工具(如Ant)時重新命名了庫。希望這有助於

WBR,安德烈

相關問題