我正在尝试在mac os上安装sqldeveloper但它无法启动。我交叉验证以确保JAVA_HOME已设置但仍然得到以下异常。有谁遇到过这个问题?我使用的是Java 1.8和SQL开发人员版本4.1.3。
sqldeveloper.sh: line 4: cd: sqldeveloper.sh: Not a directory
java.lang.ExceptionInInitializerError
at org.eclipse.osgi.framework.internal.core.Framework.initializeProperties(Framework.java:380)
at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:202)
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.internalInit(EquinoxLauncher.java:67)
at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.init(EquinoxLauncher.java:37)
at org.eclipse.osgi.launch.Equinox.init(Equinox.java:178)
at org.netbeans.modules.netbinox.Netbinox.init(Netbinox.java:84)
at org.netbeans.core.netigso.Netigso.prepare(Netigso.java:167)
at org.netbeans.NetigsoHandle.turnOn(NetigsoHandle.java:138)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1339)
at org.netbeans.ModuleManager.enable(ModuleManager.java:1156)
at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:340)
at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:276)
at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:301)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:181)
at org.netbeans.core.startup.Main.getModuleSystem(Main.java:150)
at org.netbeans.core.startup.Main.start(Main.java:307)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.security.ProviderException: setSeed() failed
at sun.security.provider.NativePRNG$RandomIO.implSetSeed(NativePRNG.java:458)
at sun.security.provider.NativePRNG$RandomIO.access$300(NativePRNG.java:329)
at sun.security.provider.NativePRNG.engineSetSeed(NativePRNG.java:212)
at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:209)
at java.security.SecureRandom.<init>(SecureRandom.java:190)
at org.eclipse.osgi.framework.internal.core.UniversalUniqueIdentifier.computeNodeAddress(UniversalUniqueIdentifier.java:127)
at org.eclipse.osgi.framework.internal.core.UniversalUniqueIdentifier.<clinit>(UniversalUniqueIdentifier.java:35)
... 18 more
Caused by: java.io.IOException: Operation not permitted
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:313)
at sun.security.provider.NativePRNG$RandomIO.implSetSeed(NativePRNG.java:456)
... 24 more
答案 0 :(得分:0)
我意识到这是旧的,但是对于那些来到这里遇到同样问题的人来说:Java 7默认熵收集设备是/dev/urandom
,它可能在Mac OS X系统上无法写入(不确定具体条件) 。
要解决这个问题,请使用Java 8(默认情况下为/dev/random
)或在java调用中声明-Djava.security.egd=file:/dev/random
(或者通过JAVA_TOOL_OPTIONS环境变量,如果您无法更改调用脚本)