簡體   English   中英

Eclipse中AspectJ項目中JUnit測試的ClassNotFoundException

[英]ClassNotFoundException for JUnit tests in AspectJ project in Eclipse

Google對此有一些答案,但是它們都是針對使用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)

以前我遇到過類似的問題,問題是由於到外部庫(例如Selenium服務器)的構建路徑中斷。 因此,請首先打開“構建路徑”(右鍵單擊“項目”->“構建路徑”->“配置構建路徑”),並確認所有外部庫都可以成功加載(出現諸如“無法加載”之類的消息)。 在優化或添加諸如Ant之類的外部工具時,很可能對庫進行了重命名/移動。 希望這可以幫助

WBR,安德烈

AspectJ插件可能會影響您的構建類路徑,但不會影響運行時類路徑。 為您的類創建一個啟動器條目,然后顯式設置類路徑以包含jar。

使用Eclipse的“加載類型”函數查看從何處加載類。

Ctrl-Space-T彈出一個對話框。 輸入目標類名稱“ BasicSpectrogramPeriodogramTests”。 它應該在工作區中顯示軟件包名稱和位置,對於所有列出的類,應在類名的右側,或者對於所選類,在對話框的底部附近。 如果這是Eclipse如何加載的話,這將包括jar及其路徑。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM