尝试将CA Cert导入我的Java 6信任库并遇到此错误:
./keytool -v -import -trustcacerts -alias Rapidssl -file /Users/spurr/Desktop/rapidssl.cer -keystore /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts
Enter keystore password:
Certificate was added to keystore
[Storing /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts]
keytool error: java.io.FileNotFoundException: /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts (Operation not permitted)
java.io.FileNotFoundException: /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts (Operation not permitted)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:84)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:902)
at sun.security.tools.KeyTool.run(KeyTool.java:172)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
我也以root身份运行该命令,所以我认为我可以访问该cacerts密钥库位置。使用Java 6。
答案 0 :(得分:2)
当异常状态为(Operation not permitted)
-
对于遇到此问题的其他人,您需要重新启动Mac并在启动时按⌘+ R.然后进入Utilities&gt;终端并键入以下命令:
csrutil disable
reboot
您应该可以在此之后将cacerts导入Java密钥库。导入该cacert后,请不要忘记重新启用csrutil
。重新启动,启动时按⌘+ R,实用程序&gt;终端,输入:
csrutil enable
reboot
答案 1 :(得分:2)
启动jnlp文件时,我在MacOS Big Sur上也遇到类似问题:
CouldNotLoadArgumentException[ Could not load file/URL specified: /Users/jhartman/Documents/Favorities/NCC/NCC 123.jnlp]
....
Caused by: java.io.FileNotFoundException: /Users/jhartman/Documents/Favorities/NCC/NCC 123.jnlp (Operation not permitted)
解决方案是:
/usr/bin/java
)完整磁盘访问权限/usr/bin/java
)文件和文件夹访问下载,文档和文件夹步骤
/usr/bin
,例如通过从终端调用:jhartman@MBP ~ % open /usr/bin
本地化java
(和keytool
)
打开系统偏好设置和安全与隐私。打开全盘访问标签并授权
从在步骤1中打开的Finder窗口中拖动java
和keytool
,然后将其拖放到 Full Disk Access
java
和keytool
的Downloads文件夹和文档文件夹这是解决我问题的方法,但我希望它也应该解决keytool
问题。
答案 2 :(得分:0)
我在.metadata目录下的文件中遇到了这个问题,因为我将Eclipse工作区放在Documents下。通过进入“系统偏好设置”->“隐私”并添加对Eclipse的特定文件和文件夹的访问权限或授予Eclipse完整磁盘访问权限来解决此问题。