1

定期我们遇到阻止小程序运行的问题,进程 javaw.exe 似乎被锁定,杀死他们几次解锁小程序。在跟踪文件中,我找到了这个(我们有 jdk 1.6_35,小程序由 j2ee Web 应用程序使用):

**server running at port: 50091
basic: unique id: JavaControlPanel
basic: server port at: 49187
basic: getSingleInstanceFilename: C:\Users\amoriconi\AppData\LocalLow\Sun\Java\Deployment\tmp\si\JavaControlPanel-x86_49187
basic: file should be removed: C:\Users\amoriconi\AppData\LocalLow\Sun\Java\Deployment\tmp\si\JavaControlPanel-x86_50091
basic: waiting connection
Exception in thread "main" java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.security.jca.ProviderConfig$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source)
    at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
    at sun.security.jca.ProviderList.getProvider(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList.tryGet(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList.access$200(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList$1.hasNext(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.security.SecureRandom.getInstance(Unknown Source)
    at java.security.SecureRandom.getDefaultPRNG(Unknown Source)
    at java.security.SecureRandom.<init>(Unknown Source)
    at com.sun.deploy.services.WPlatformService.getSecureRandom(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.getSecureRandom(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.access$100(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer.createSingleInstanceFile(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer.<init>(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.addSingleInstanceListener(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.<init>(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.main(Unknown Source)
Caused by: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: class configured for SecureRandom(provider: SUN)cannot be found.
    at java.security.SecureRandom.getDefaultPRNG(Unknown Source)
    at java.security.SecureRandom.<init>(Unknown Source)
    at com.sun.crypto.provider.SunJCE.<clinit>(DashoA13*..)
    ... 28 more
Caused by: java.security.NoSuchAlgorithmException: class configured for SecureRandom(provider: SUN)cannot be found.
    at java.security.Provider$Service.getImplClass(Unknown Source)
    at java.security.Provider$Service.newInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.security.SecureRandom.getInstance(Unknown Source)
    ... 31 more
Caused by: java.lang.ClassNotFoundException: com/sun/deploy/security/WSecureRandom
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    ... 36 more**

由于某种原因,这个问题源于java的隐藏更新,安装jdk 7u45然后删除解决了一段时间的问题......我快疯了......

4

1 回答 1

2

发生这种情况是因为在新版本的 JRE (7u45-b18) 中对小程序施加了更多安全检查。

http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html#newft

使用旧的 JRE 或实施与安全相关的更改是件好事。

于 2013-11-19T10:05:08.223 回答