读书人

别把jdk装到program files上

发布时间: 2012-11-08 08:48:11 作者: rapoo

别把jdk装到program files下?

?? 这些天遇到一个问题, 也就引出了本博客里的标题.?

?

?? ?问题是这样的. ?一个Java程序要启动两个java进程A和B,第一个进程A是按正常的启动方式进行的,这里边没什么问题;第二个进程B是在进程A里通过调用Runtime.getRuntime().exec(mCmd, mEnv, mDir)的形式启动的. 问题就出在传的参数mCmd上了, 这个mCmd的值是从一个xml文件里读来的, 这个xml的内容大致如下:

?

<app name="WP" cmd="C:\Program Files\Java\jdk1.6.0_07\bin\java -server -XX:+UseConcMarkSweepGC -...." />

?

这样执行exec方法时,JVM就报无法执行"C:\Program Files\Java\jdk1.6.0_07\bin\java"所指向的命令了, 原因很简单Windows没法找到没引号的"Program Files"文件夹,它会在空格处断开的.

?

这个怎么办??

?

我试着给Program Files加了单引号,还是不行,windows仍然不认.

想给Program Files文件夹改名,可windows又不让!

..............

?

无奈了,只能在C盘根目录下另又装了一个JDK.

?

?? ? ? ?

?

难道真的不要把JDK装到program files下吗?

1 楼 celebration 2008-09-05 Program Files加上双引号,应该可以解决这个问题,跟命令行下的cd Program Files不能正常跳到你想去的目录是一样的,他们都不支持名称中间有个空格,会认为你执行的是cd Program命令。加“”之后需要进行下转移处理,有点麻烦。 2 楼 pstinghua 2008-10-20 试试new File(path).getCanonicalPath(),现在linux也没法试下

读书人网 >编程

热点推荐