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文件,修改<localRepository></localRepository>节点的内容为<localRepository>D:/m2</localRepository>。
(注:默认<localRepository></localRepository>节点是被注释掉的,本地库路径指向C:\Documents and Settings\CURRENT_USER\.m2\repository,其中CURRENT_USER为当前登录用户名。这种情况下,只需要在文件中添加<localRepository>D:/m2</localRepository>即可。)
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.youkuaiyun.com/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个多小时的时间解决了这个问题。就是用的解决方法一)

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

eclipse.buildId=unknown java.version=1.8.0_232 java.vendor=Azul Systems, Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 -clean !ENTRY org.eclipse.platform 2 0 2025-09-01 10:38:17.140 !MESSAGE Could not resolve module: org.eclipse.platform [204] Unresolved requirement: Require-Bundle: org.eclipse.ui.intro; bundle-version="[3.2.0,4.0.0)" !ENTRY org.eclipse.osgi 4 0 2025-09-01 10:38:17.140 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at com.ami.veb.ui.VeBApplication.checkInstanceLocation(VeBApplication.java:499) at com.ami.veb.ui.VeBApplication.start(VeBApplication.java:278) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
最新发布
09-02
!SESSION 2025-08-11 13:41:01.459 ----------------------------------------------- eclipse.buildId=unknown java.version=1.8.0_172 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 -clean !ENTRY org.eclipse.platform 2 0 2025-08-11 13:41:02.540 !MESSAGE Could not resolve module: org.eclipse.platform [204] Unresolved requirement: Require-Bundle: org.eclipse.ui.intro; bundle-version="[3.2.0,4.0.0)" !ENTRY org.eclipse.osgi 4 0 2025-08-11 13:41:02.540 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at com.ami.veb.ui.VeBApplication.checkInstanceLocation(VeBApplication.java:493) at com.ami.veb.ui.VeBApplication.start(VeBApplication.java:280) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
08-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值