Cannot run program javaw.exe in directory CreateProcess error=87

这个问题找了好久,才找到正解,下面是我转载的!

原文:http://blog.csdn.net/zhangren07/article/details/5944173

 

折腾了将近一天,一直纠结于这个事情。今天终于搞定!

其实错误报得很准确,就是:

 Cannot run program "C:/Program Files/Java/jdk1.6.0_17/bin/javaw.exe" (in directory "C:/Workspace/testSeam1-test"): CreateProcess error=87, The parameter is incorrect

具体的意思就是调用javaw.exe出错,但在其它的项目,甚至这个项目的某些模块都不会报这个错误,很奇怪。因为我不知道eclipse是如何调用javaw.exe的,到底传递了哪些参数,所以比较难搞。

从思路上总结下来可能有三方面问题:

一,jdk问题,因为路径有Program Files空格,但其它的项目可以的呀,将信将疑,把jdk安装到c:/Java下,还是失败!

二,eclipse问题,之前自己的eclipse因为装testng插件或配置等问题运行不了接口测试,拷了别人的eclipse解决了此问题,这次于是再让开发同学把他的eclipse给我用了一下,还是失败!

三,项目的问题,其实这是最容易想到的,一开始我也想到了,但项目的下载和构建步骤都完全没有问题,引入到eclipse之后也没有任何报错,我尝 试着去修改有些模块的属性,修改Build Path的设置,修改运行时的设置等诸多尝试之后,仍失败!其后我进行了“一”和“二”!最后回到项目本身,出错消息中在调用时有许多类的包名是 在"C:/Documents and Settings/ren.zhangr/.m2/repository"下,这可能是在调用javaw之前设置的环境变量,作为参数一起传递给 javaw.exe,我尝试着把maven本地库移到d:/repository下有两步,一是设置settings.xml,二是改掉eclipse Build Path的一个M2_REPO变量,重新生成eclipse文件导入项目。一切ok!

你可能感兴趣的:(javaw,CreateProcess,java)