2013-02-06 40 views
5

我嘗試在Eclipse中運行JUnit測試類時遇到問題。在Eclipse的JUnit測試中發生206錯誤

執行命令行時發生異常。 無法運行程序「C:\ Program Files \ Java \ jre7 \ bin \ javaw.exe」(在目錄「C:\ Users \ User \ Documents \ Projects \ MyProject」中):CreateProcess error = 206,文件名或擴展名是太長了

當我收到這個錯誤後,我開始搜索如何解決問題......但是現在我生成了包含所有我需要的罐子的MANIFEST文件,但是我不知道如何傳遞該項目的新清單文件,以及如何處理我的lib目錄中的罐子?

在此先感謝!

編輯:

我SimpleTest的類的TestRunner類

public class SimpleTest { 

    @Test 
     public void testAssertions() { 

      String str1 = new String ("abc"); 
      String str2 = new String ("abc"); 

      assertEquals(str1, str2);  
    } 
    } 

package com.epb.junit; 

import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 

public class TestRunner { 
    public static void main(String[] args) { 
     Result result = JUnitCore.runClasses(SimpleTest.class); 
     for (Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()); 
     } 
     System.out.println(result.wasSuccessful()); 
    } 
} 

沒有什麼有趣的在這裏,我只需要知道如何收拾所有這些我用我的JAR文件,因爲它們太很多...我製作了一個清單文件,但是我不知道如何通過它來代替JAR文件。

P.S我正在使用Eclipse運行測試類 - >運行方式 - > JUnit測試選項。發生錯誤後,我創建了這個TestRunner類,並將它作爲Java應用程序運行,但仍然出現錯誤206. 從我閱讀的內容中,我發現我的構建路徑太長,因爲現在有很多JARS我期望找到一種方法來縮短這個路徑並將這些罐子打包成一個。我試圖將lib文件夾導出到Jar文件中,但它不起作用。

EDIT 2

,我嘗試了一會兒才爲創建一個包含在它裏面只有MANIFEST.MF文件是「尋路罐子」的最後一件事。我把這個罐子在我的項目構建路徑,而不是所有其他JAR,但還是沒有結果......現在該項目有內置路徑錯誤...

+0

你的問題中沒有足夠的信息來回答。請分享關於您的測試課程的更多細節,您如何運行它,爲什麼您的JAR是相關的,... –

+0

問題解決了! https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193 – cyrat

+0

這是個好消息。請張貼您自己的問題的答案。您可以在48小時後接受它。 –

回答

4

所有你需要做的就是按照這些步驟:

  1. 罐子複製你的日蝕/插件/ org.eclipse.jdt.launching_3.4。*到一個安全的地方 插件文件夾之外,讓你總有辦法恢復
  2. 關閉Eclipse
  3. 將* .jar重命名爲* .zip
  4. 打開zip文件並複製4個類從附件到 組織\日食\ JDT \內部\啓動文件(替換現有文件)
  5. 去META-INF中的zip文件,並刪除所有文件除了MANIFEST.MF
  6. 提取物對MANIFEST.MF 「姓名:」您的磁盤,並用文本編輯器
  7. 刪除一切從第一次開始編輯條目
  8. 確保您在文件的結尾留下(2)換行字符!
  9. 保存MANIFEST。MF並將其複製回zip文件
  10. 將* .zip重命名爲* .jar
  11. 用您在Eclipse/plugin目錄中的jar替換已修改的jar!
  12. 享受!

PS。 附件從第4步可以從這裏下載:

https://bugs.eclipse.org/bugs/attachment.cgi?id=216637

感謝Mr.Markus凱勒誰創造了這些步驟!

+0

這4個班級需要複製,因爲我看到許多班,但無法弄清楚四個班級嗎? – user1010399

+0

我有Eclipse JEE Indigo SR2(x64),我打開了一些GWT項目,並且在啓動Eclipse時,我從DataNucleus Enhancer獲得了相同的錯誤消息。我很高興知道此答案中描述的步驟以及此版本的Eclipse,唯一的區別是要備份的jar版本號(3.6而不是3.4)。用於替換的類(即LongCommandLineLauncher.class,StandardVMDebugger $ ConnectRunnable.class,StandardVMDebugger.class和StandardVMRunner.class)確實比原來的更新,儘管附件來自Eclipse的3.5版本。 –

-1

我已通過執行以下步驟解決此問題。請執行以下操作

選擇Project-> Properties->選擇Google App Engine - > ORM,並僅包含包含要增強的類的目錄。