eclipse 本地工程单元测试出现can not run program"XXXX/javaw.exe" error=87

报这个错有2个解决方法:

1. 修改长路径:http://www.myexception.cn/ruby-rails/439356.html

当eclipse控制台报出Cannot run program “"C:\Program Files\Java\jre6\bin\javaw.exe" (in directory "D:\workspace\test"): CreateProcess error=87, 2êy′í”的错误时,可以考虑是不是因为eclipse里设置的某个环境变量路径(可通过Window->Preferences->Java->Build Path->Classpath Variables查看)太长太深。我遇到的问题是因M2_REPO这个环境变量引起的,它存储的是maven本地库的位置。

解决方法:

一、

1、在较浅的目录新建maven本地库文件夹。例如D:/m2。
2、修改%MAVEN_HOME%/conf/settings.xml文件,修改节点的内容为D:/m2
(注:默认节点是被注释掉的,本地库路径指向C:\Documents and Settings\CURRENT_USER\.m2\repository,其中CURRENT_USER为当前登录用户名。这种情况下,只需要在文件中添加D:/m2即可。)
3、将原maven本地库中的所有包拷贝到新目录D:/m2中。
4、修改eclipse中M2_REPO环境变量的值(Window->Preferences->Java->Build Path->Classpath Variables),把原M2_REPO值修改为D:/m2。
5、F5刷新工程,如果工程前还带红叉,可以执行Project->Clean...。over~

二、 如果还不成功,按照这个方法

http://blog.csdn.net/vking_wang/article/details/9168057

谷歌说是因为classpath太长的缘故,WINDOW官网上讲:the max command prompt line length in windows xp is 8191 characters。

解决办法当然是让classpath变短,可以删掉哪些不用的path。

如果每个path都是有用的,该怎么办呢?

可以尝试:

eclipse --> Run --> Run configuration --> 在classpath tab页中找到default classpath,右击 --> Edit --> 选中Only include exported entries

---------------------------------------------------------------------可耻的分割线--------------------------------------------------------------------------------------------

(最开始发现这个问题,是在自己运行单元测试的时候发现的就是报这个error=87的错,开始觉得自己不怎么写单元测试,就没管它,就这样困扰了我大概2周左右的时间,今天准备写下单元测试,发现这个问题绕不过去了,花了我2个多小时的时间解决了这个问题。就是用的解决方法一)

以后遇到这样的问题,要及时解决,以免夜长梦多~~~~~~~~~

你可能感兴趣的:(Java学习)