如何解决此时意外的JDK问题

use*_*440 3 java jdeveloper jdk1.6

我需要你的助手在我的机器中配置Jdeveloper 11.1.3.我安装了它,然后安装了JDK.当我尝试运行示例jsf文件"右键单击 - >运行"时,它会生成错误:

\ Java\jdk1.6.0_45此时出乎意料.流程退出

我发起了如下环境变量:

变量名JAVA_HOME

变量值"C:\ Program Files(x86)\ Java\jdk1.6.0_45"

那么请你协助解决这个问题.

Sub*_*mal 12

以下是一些查找目录短名称的方法.

Windows CMD

dir /X "C:\Program Files (x86)*"
Run Code Online (Sandbox Code Playgroud)

作为VB脚本

' usage: cscript shortname.vbs [directory]
'
' example: cscript shortname.vbs "C:\Program Files (x86)\Java\jdk1.6.0_45"

on error resume next
Set fso=CreateObject("Scripting.FileSystemObject")

Set objFolder = fso.GetFolder(WScript.Arguments(0))

Set objSubFolders = objFolder.SubFolders
For Each sf In objSubFolders
   WScript.Echo sf.ShortPath
Next

Set objFiles = ObjFolder.Files
For Each file In objFiles
   WScript.Echo file.ShortPath
Next
Run Code Online (Sandbox Code Playgroud)

使用JNA的Java

import com.sun.jna.Native;
import com.sun.jna.platform.win32.Kernel32;

public class LongToShort {

    public static String GetShortPathName(String path) {
        char[] result = new char[256];
        Kernel32.INSTANCE.GetShortPathName(path, result, result.length);
        return Native.toString(result);
    }

    // java LongToShort "C:\Program Files (x86)\Java\jdk1.6.0_45"
    public static void main(String[] args) {
        System.out.println(GetShortPathName(args[0]));
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑

示例如何更改JAVA_HOME环境变量.

假设您的JDK已安装C:\Program Files (x86)\Java\jdk1.6.0_45.
简称C:\Program Files (x86)可能是PROGRA~1.

改变你的JAVA_HOME:

set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_45
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.6.0_45