Update auf JRE 7_71 - Klasse wird nicht gefunden?

Nagao

Neues Mitglied
Hallo Community,

Wir haben eine kleine RCP-Anwendung im Einsatz, welche einmal jährlich beim ersten Javaupdate im Jahr aktualisiert wird.

Letztes Jahr war es hierbei notwendig die JAR-Dateien mit einem offiziellen Zertifikat zu signieren und einige Attribute in den Manifest Dateien zu ergänzen. Mit dieser Lösung funktioniert die Anwendung bis einschließlich JRE 7u67. Ab dann bekomme ich ein Fehlerbild wie in diesem Thread

Ändere ich nun die JNLP dahingehend, dass meine Wrapperklasse der Einstiegspunkt ist, bekomme ich folgende Exception:
Code:
java.lang.ClassNotFoundException: org.eclipse.equinox.launcher.WebStartMain
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	[COLOR="#FF0000"]at com.test.webstart.WrapperMain.main(WrapperMain.java:16)[/COLOR]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Der rot markierte Teil entspricht der Zeile der Wrapperklasse, wo der Launcher aufgerufen wird.
Java:
package com.test.webstart;
import org.eclipse.equinox.launcher.WebStartMain;

public class WrapperMain
{
    public static void main(String... args)
    {
        java.util.Properties props = System.getProperties();
        for (String key : props.stringPropertyNames())
        {
            if (key.startsWith("jnlp."))
            {
                System.setProperty(key.substring(5), props.getProperty(key));
            }
        }
        WebStartMain.main(args);
    }
}
 
Musst du die vielleicht irgendwie im Bundle/Plugin erst noch exportieren? Was anderes würde mir spontan nicht einfallen.
 
Die org.eclipse.equinox.launcher.jar befindet sich im plugins Ordner von Tomcat und wird im JNLP via
Code:
<jar href="plugins/org.eclipse.equinox.launcher.jar"/>
im Resourcenbereich angegeben.

Indem ich den automatischen Import von Bibliotheken deaktiviert habe bin ich auf folgende Warnung gestoßen:

Nicht empfohlener Zugriff: Der Typ WebStartMain ist nicht zugänglich aufgrund einer Beschränkung in der erforderlichen Bibliothek (Pfad)
 
Zuletzt bearbeitet:

Zurück
Oben