Problema con JavaHelp y JBuilder

amoruno77
12 de Septiembre del 2005
Hola a [email protected], estoy haciendo una aplicación con JBuilder 7 y uso el jdk 1.4.2. Lo que quiero poner es una ayuda a la aplicaicón, y lo he conseguido si ejecuto la aplicación desde JBuilder. El problema viene cuando intento hacer el fichero .exe y el .jar para distribuir la aplicación.

Cuando intento hacer el ejecutable, hay varias posibilidades a la hora de colocar las dependencias al proyecto, cuando pongo la de javahelp (jhall.jar):

Si le doy la opción de incluir siempre todas las clases y recursos, me sale el siguiente error.
Exception in thread "main" java.lang.SecurityException: no manifiest section for
signature file entry javax/help/TextHelpModel.class
at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVe
rifier.java:262)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier
.java:174)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241)
at java.util.jar.JarVerifier.update(JarVerifier.java:197)
at java.util.jar.JarFile.initializeVerifier(JarFile.java:248)
at java.util.jar.JarFile.getInputStream(JarFile.java:310)
at sun.misc.URLClassPath$4.getInputStream(URLClassPath.java:537)
at sun.misc.Resource.getBytes(Resource.java:60)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:245)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)

Si la opción que eligo es la de Incluir las clases requeridas y todos los recursos, me sale el mismo error que antes.

Y si la opción que selecciono es la de Incluir clases requeridas y recursos conocidos, entonces, lo que pasa es que no puedo cargar la ayuda, me da puntero a nulo, es decir, mi código para cargar la ayuda es:

protected void createHelp() {
ClassLoader loader = this.getClass().getClassLoader();
URL url;
try {
url = HelpSet.findHelpSet(loader, HELPSETNAME);
m_hs = new HelpSet(loader, url);
m_hb = m_hs.createHelpBroker();
m_hb.enableHelpKey(this.getRootPane(), "intro", m_hs);
}
catch (Exception ex) {
ex.printStackTrace();
}
}

En este caso, la instrucción m_hb = m_hs.createHelpBroker(); devuelve que m_hb (objeto HelpBroker) vale nulo, y ya no puedo cargar nada.

¿Alguien puede decirme como solucionar el problema?

Un saludo y gracias de antemano.