我有一個非常奇怪的情況。我有一套eclipse插件項目,我正在使用tycho和maven來構建它們。我在其中一個項目中使用了JDBC驅動程序,並且我有一個測試插件來測試此項目。由於com.mysql.jdbc插件在eclipse p2存儲庫中不可用(並且我們沒有自己的p2),因此我導入了jdbc插件並創建了一個OSGi插件,並將依賴項添加到我的本地插件中。JUnit測試在java.lang.ClassNotFoundException中失敗:Tycho環境中的com.mysql.jdbc.Driver
我有多個eclipse工作空間坐起來。只有在創建測試和jdbc插件的第一個工作空間中,junit測試正在運行,當我使用eclipse運行它們作爲 - > Junit測試命令時。當其他人,甚至我籤的源代碼,並嘗試運行在不同的工作區中的試驗,這將引發異常:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我也利用第谷的集成測試(乳寧MVN集成測試)試圖但這並不既不工作,我仍然得到同樣的例外。我試圖尋找這個很多,但我找不到答案。
更新:我認爲這不是一個tycho問題。我只是嘗試基於com.jdbc.mysql jar創建eclipse插件。我創建這個工作區正常工作。但是,只要我提交代碼並將項目導入另一個工作區,測試就會停止工作。所有設置在兩個工作空間中都是相同的,其中一個工作,另一個獲取ClassNotFound異常!
我有一個非常類似的問題,我以爲我錯過了在Tycho/EclipseRCP環境中使用Junit的一些東西。所以上週,我問了這個問題:http://stackoverflow.com/questions/16166866/how-to-follow-test-first-approach-with-equinox-osgi-tycho-eclipse-rcp-enviro 現在我對這個問題有更多的暗示,我簡單地將它解釋爲oberlies的回答下的一個評論。我假設系統/配置級別有問題。此外,我認爲以下關於配置的所有答案只有在您根本無法運行測試時纔會有所幫助。 – 2013-04-29 10:12:16