Dopo l'ultimo JRE (1.7.0_25) è stata aggiornata la mia applicazione non verrà avviata da webstart come era solito . Non ho distribuito file jar più recenti o modificato il file JNLP sul server Web, ma non posso avviare l'app da webstart. Funziona bene dall'IDE e anche dall'esecuzione locale jarjava.lang.NoClassDefFoundError: Impossibile inizializzare la classe sun.security.ec.SunEC (si è verificato dopo il recente aggiornamento JRE)
Ho provato a disabilitare tutti i certificati di controllo ecc nella scheda avanzata del pannello di controllo ma l'errore rimane, non sono sicuro se questo è correlato alla nuova sicurezza impostazione nell'ultimo JRE o se qualcos'altro è cambiato (forse sul server web?) Non controllo il server web Ho solo una pagina in cui l'app è pubblicata e ho accesso a un percorso di unità per i file jar, permessi sono corretti per le posizioni di guida ecc. Ora sono perso per quanto riguarda il problema! Ho provato a dimettermi i vasi e a verificare la firma pure
Apprezzo qualsiasi aiuto che la gente possa dare! di errore completo è qui sotto:
java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC
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.newInstance(Unknown Source)
at sun.security.jca.ProviderConfig$2.run(Unknown Source)
at sun.security.jca.ProviderConfig$2.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.getService(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at java.security.Security.getImpl(Unknown Source)
at java.security.AlgorithmParameters.getInstance(Unknown Source)
at sun.security.x509.AlgorithmId.decodeParams(Unknown Source)
at sun.security.x509.AlgorithmId.<init>(Unknown Source)
at sun.security.x509.AlgorithmId.parse(Unknown Source)
at sun.security.x509.X509Key.parse(Unknown Source)
at sun.security.x509.CertificateX509Key.<init>(Unknown Source)
at sun.security.x509.X509CertInfo.parse(Unknown Source)
at sun.security.x509.X509CertInfo.<init>(Unknown Source)
at sun.security.x509.X509CertImpl.parse(Unknown Source)
at sun.security.x509.X509CertImpl.<init>(Unknown Source)
at sun.security.provider.X509Factory.engineGenerateCertificate(Unknown Source)
at java.security.cert.CertificateFactory.generateCertificate(Unknown Source)
at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source)
at com.sun.deploy.security.LazyRootStore.loadJREStore(Unknown Source)
at com.sun.deploy.security.LazyRootStore.getTrustAnchors(Unknown Source)
at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)
at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Prova a cercare il [bug DB] (http://bugs.sun.com/) e se non trovi nulla di simile, crea un nuovo rapporto. Guarda cosa Oracle ha da dire in merito. –
OK, ho trovato il problema alla fine. Un'altra applicazione che usiamo ha un aggiornamento che coincide con l'aggiornamento di JRE; l'app di questo fornitore esterno richiede alcune autorizzazioni aggiuntive e quindi ha sovrascritto il mio file java.policy (l'originale era presente con un'estensione .bak quando ho controllato la directory), quindi ho semplicemente rinominato il file della politica per controllare e tutto sta funzionando di nuovo. Nel file mancava quanto segue: grant codeBase "file: $ {{java.ext.dirs}}/*" { \t permesso java.security.AllPermission; }; –