Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
Java 使用Plistbuddy使用键和字符串配置现有dict_Java_Dictionary_Plist_Osx Mavericks - Fatal编程技术网

Java 使用Plistbuddy使用键和字符串配置现有dict

Java 使用Plistbuddy使用键和字符串配置现有dict,java,dictionary,plist,osx-mavericks,Java,Dictionary,Plist,Osx Mavericks,我正在尝试修改用户Java设置。我正在尝试将安全设置为MEDIUM。 这是我到目前为止所拥有的,但它将其添加为另一个dict。我想将它添加到已经存在的/com/oracle/javadeployment/密钥中 /usr/libexec/PlistBuddy \ -c "add ':/com/oracle/javadeployment/:deployment.security.level:' string MEDIUM" \ ~/Library/Preferences/com.oracle.

我正在尝试修改用户Java设置。我正在尝试将安全设置为
MEDIUM
。 这是我到目前为止所拥有的,但它将其添加为另一个
dict
。我想将它添加到已经存在的
/com/oracle/javadeployment/
密钥中

/usr/libexec/PlistBuddy \
 -c "add ':/com/oracle/javadeployment/:deployment.security.level:' string MEDIUM" \
 ~/Library/Preferences/com.oracle.javadeployment.plist
我的结论是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>/com/oracle/javadeployment/</key>
        <key>deployment.expiration.decision.10.51.2</key>
        <string>later</string>
        <key>deployment.expiration.decision.suppression.10.51.2</key>
        <string>true</string>
        <key>deployment.expired.version</key>
        <string>10.51.2</string>
        <key>deployment.log</key>
        <string>true</string>
        <key>deployment.modified.timestamp</key>
        <string>1399690282571</string>
        <key>deployment.version</key>
        <string>7.21</string>
    </dict>
    <key>deployment.security.level</key>
    <string>MEDIUM</string>
</dict>
</plist>

/com/oracle/javadeployment/
部署。到期。决定。10.51.2
后来
部署。到期。决定。抑制。10.51.2
真的
deployment.expired.version
10.51.2
部署日志
真的
deployment.modified.timestamp
1399690282571
部署。版本
7.21
部署.security.level
中等
我想要

<key>deployment.security.level</key>
    <string>MEDIUM</string>
deployment.security.level
中等
要高于倒数第二个

我试着在
之间来回移动,但我只是得到了一些错误

我试图在键之间添加一个
0
,它将它添加到
dict
的顶部,但也将它放在自己的
dict
中,当这种情况发生时,Java不会读取设置;它需要位于键
/com/oracle/javadeployment/


有什么建议吗?我已经讨论了几个小时了,我已经没有主意了。

部署.security.level后的尾随冒号是个问题;它创建了一个dict

您的命令没有完全生成问题中显示的结果,但我可以通过使用“add”deployment.security.level“string MEDIUM”获得您的输出(这也是不正确的)

以下内容在OS X 10.8.5上适用于我:

/usr/libexec/PlistBuddy \
-c "add '/com/oracle/javadeployment/:deployment.security.level' string MEDIUM" \
~/Library/Preferences/com.oracle.javadeployment.plist
它产生:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>/com/oracle/javadeployment/</key>
        <dict>
                <key>deployment.expired.version</key>
                <string>10.21.2</string>
                <key>deployment.modified.timestamp</key>
                <string>1388446189200</string>
                <key>deployment.security.level</key>
                <string>MEDIUM</string>
                <key>deployment.version</key>
                <string>7.21</string>
        </dict>
</dict>
</plist>

/com/oracle/javadeployment/
deployment.expired.version
10.21.2
deployment.modified.timestamp
1388446189200
部署.security.level
中等
部署。版本
7.21