环境:mac os 10.9.3
IDE:eclipse Kepler
报错内容:
- Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/junit/runner/RemoteTestRunner
- Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.junit.runner.RemoteTestRunner
- 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:306)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
前提:同事的电脑
起因1:就算写个最简单的输出语句都报错,但是运行main方法没问题。
根据报错信息去网上搜解决方案,貌似都不靠谱。
因为我和他同型号电脑,eclipse都是我发给他的。我的就没问题。
开始检查了他的Junit怎么导入的、版本。。。。
解决方案:再看版本的时候发现他把eclipse(看junit的包结构时候发现的)放在了:/Users/xxx/....../软件/ 的下面。
感觉这应该就是问题所在了。把eclipse放在没有汉字和空格的路径下。问题就解决了。
有的时候就是感觉。经常会从前的经验,别人说过的某些片段来解决问题。
事隔一个月,又报了同一个错误。
起因2:他的eclipse没有按照svn,使用其他软件从svn上checkout下来的,然后eclipse本地导入。
自动化的测试代码随便找一个Run As 就报错。
感觉想设置问题(ps:当时没想到,就感觉是Junit4.1的jar有问题。)
搜了一些国内的网站,没搜到正确的。一个国外网站也有人问一模一样的问题。但是没解决。
搜了半小时都没解决。不知道他怎么突然想看项目编码设置了
解决方案:将项目编码设置成UTF-8,就可以了。我感觉一劳永逸的方式就是把eclipse的workspce的编码设置成UTF-8。