Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac OS X Lion中初始化Java VM时出错_Java_Macos_Osx Lion - Fatal编程技术网

在Mac OS X Lion中初始化Java VM时出错

在Mac OS X Lion中初始化Java VM时出错,java,macos,osx-lion,Java,Macos,Osx Lion,我在让我的Java在MacOSXLion上运行时遇到了一个问题。我做了Java升级,完全删除了它。然后我又需要它,我安装了一个7v9.apps,但它不起作用 然后我写了一篇苹果知识库(applekb,knowledgebase)文章,把它恢复到6,但那没有用。我完全卸载了它(现在很多次),并重新安装了7v9,但我无法让我的应用程序正常工作,也无法打开java控制台 有人能帮忙吗?以下是我在控制台上的日志: 10/31/12 3:01:44.681 PM [0x0-0x6ea6ea].com.ap

我在让我的Java在MacOSXLion上运行时遇到了一个问题。我做了Java升级,完全删除了它。然后我又需要它,我安装了一个7v9.apps,但它不起作用

然后我写了一篇苹果知识库(applekb,knowledgebase)文章,把它恢复到6,但那没有用。我完全卸载了它(现在很多次),并重新安装了7v9,但我无法让我的应用程序正常工作,也无法打开java控制台

有人能帮忙吗?以下是我在控制台上的日志:

10/31/12 3:01:44.681 PM [0x0-0x6ea6ea].com.apple.systempreferences: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/jcontrol: line 116: [: too many arguments

10/31/12 3:01:44.681 PM [0x0-0x6ea6ea].com.apple.systempreferences: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/jcontrol: line 120: [: -Xdock:icon=/Library/Internet: binary operator expected

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences: Error occurred during initialization of VM

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences: java.lang.NullPointerException

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:     at java.util.Hashtable.put(Hashtable.java:542)

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:     at java.lang.System.initProperties(Native Method)

10/31/12 3:01:44.723 PM [0x0-0x6ea6ea].com.apple.systempreferences:     at java.lang.System.initializeSystemClass(System.java:1115)
[…]/jcontrol:line 116:[:参数太多
[…]/jcontrol:line 120:[:-Xdock:icon=/Library/Internet:应为二进制运算符
jcontrol
文件中似乎存在语法错误,这是因为一些祖先进程集环境变量
\u JCP\u DOCK\u NAME
\u JCP\u DOCK\u ICON
env | grep JCP
的输出在这里可能有用。
jcontrol
脚本可以通过添加引号来修复在上述行中舍入这些变量:

如果[-z“${u JCP_DOCK_NAME}”;那么
_JCP_DOCK_NAME=-Xdock:NAME=“Java控制面板”
fi
如果[-z“${u JCP_DOCK_ICON}”];则
_JCP_DOCK_ICON=-Xdock:ICON=“/Library/Internet插件/JavaAppletPlugin.plugin/Contents/Resources/Java7VM.icns”
fi
不过,我还不能确定这是否是后续错误消息的原因

初始化VM期间发生错误 java.lang.NullPointerException 位于java.util.Hashtable.put(Hashtable.java:542) 位于java.lang.System.initProperties(本机方法) 位于java.lang.System.initializeSystemClass(System.java:1115) 如果
参数为
null
,则引发空指针异常。了解此参数所指的键可能会很有趣,但Java调试器在调试此参数时可能不会有多大用处。也许您最好使用像“gdb”这样的通用应用程序调试器试图找出与该
put
调用中的
null
值关联的键

/Library/Internet: binary operator expected
我尝试在OSX上使用时也遇到了类似的错误

我认为问题在于
$JAVA_HOME
环境变量中的空格。我只是简单地创建了一个指向Oracle JAVA 1.7位置的符号链接:

>ls -la /usr/local/oraclejava
lrwxr-xr-x  1 root  admin  64 20 Sep 13:33 /usr/local/oraclejava -> /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

$JAVA_HOME
设置为
/usr/local/oraclejava
后重新启动应用程序解决了问题。

等等,这些十六进制值是内存地址吗?我以为JVM从未给出内存地址?我不知道。这是控制台上的日志。从终端键入“JAVA-version”时会发生什么?(如果安装了Java 7U9,则应获得以下输出“Java版本”1.7.0_09”“检查
/Library/Internet plugins/JavaAppletPlugin.plugin/Contents/Home/bin/jcontrol
@第116行中的文件。