5

当我尝试在 Eclipse 中运行 JUnit 测试类时遇到问题。

执行命令行时发生异常。无法运行程序“C:\Program Files\Java\jre7\bin\javaw.exe”(在目录“C:\Users\User\Documents\Projects\MyProject”中):CreateProcess error=206,文件名或扩展名太长

收到此错误后,我开始搜索如何解决问题...但是现在我生成了包含我需要的所有 jar 的 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 文件。

PS 我正在使用 Eclipse -> Run As -> JUnit Test 选项运行测试类。错误发生后,我创建了这个 TestRunner 类,并将其作为 Java 应用程序运行,但仍然出现错误 206。从我读到的内容中,我意识到我的构建路径太长了,因为有很多 JARS,所以现在我'正在寻找一种方法来缩短此路径并将罐子打包成一个。我尝试将 lib 文件夹导出到 Jar 文件中,但没有成功。

编辑 2

我刚才尝试的最后一件事是创建一个“路径 jar”,其中仅包含 Manifest.mf 文件。我把这个 jar 放在我的项目 Build Path 中,而不是所有其他 Jars 但仍然没有结果......现在项目的 Built Path 有错误......

4

2 回答 2

4

您需要做的就是按照以下步骤操作:

  1. 将您的 eclipse/plugins/org.eclipse.jdt.launching_3.4.*.jar 复制到 plugins 文件夹之外的安全位置,以便您始终可以恢复。
  2. 关闭 Eclipse。
  3. 将 *.jar 重命名为 *.zip
  4. 打开zip文件,将附件中的4个类文件复制到org\eclipse\jdt\internal\launching(替换现有文件)
  5. 转到zip文件中的META-INF并删除除MANIFEST.MF之外的所有文件
  6. 将 MANIFEST.MF 提取到您的磁盘并使用文本编辑器对其进行编辑。
  7. 删除从第一个“NAME:”条目开始的所有内容。
  8. 确保在文件末尾留下(2) 个换行符!
  9. 保存 MANIFEST.MF 并将其复制回 zip 文件。
  10. 将 *.zip 重命名为 *.jar
  11. 将修改后的 jar 替换为 Eclipse/plugin 目录中的 jar!
  12. 享受!

PS。步骤 4 的附件可以从这里下载:

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

感谢创建这些步骤的 Markus Keller 先生!

于 2013-02-11T09:44:24.793 回答
0

我通过执行以下操作解决了这个问题:

选择 Project ⟶ Properties ⟶ Google App Engine ⟶ ORM 并只包括包含您想要增强的类的目录。

于 2014-06-12T11:29:48.870 回答