Pregunta

Estoy un poco al final de mi ingenio tratando de hacer que mi juego Java funcione en un navegador. He logrado que se ejecute con éxito como una aplicación de inicio web de Java, pero convertirla en un applet de ventana en el navegador me está volviendo loco.

Myapplet.jnlp:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="MYAPPLET.jar" codebase="http://www.myDomain.com/directoryContainingJar/">
    <information>
        <title>Name</title>
        <vendor>----</vendor>
        <offline-allowed />
    </information>
    <resources>
        <j2se version="1.4+"
             href="http://java.sun.com/products/autodl/j2se" />
        <jar href="MYAPPLET.jar" main="true" />
    </resources>
    <applet-desc 
        name="Name"
        main-class="main.MainClass"
        width="700"
        height="600">
    </applet-desc>
</jnlp>

En mi archivo HTML:

<applet width="700" height="600" code="main.MainClass">
     <param name="jnlp_href" value="MYAPPLET.jnlp">
</applet>

Recibo este error al cargar la página:

ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>]
    at sun.plugin2.applet.JNLP2Manager.redirectLaunchDesc(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source)
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source)
    at sun.plugin2.main.client.PluginMain.access$300(Unknown Source)
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Error while initializing manager: ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>], bail out

He cambiado la clase principal para que extends JApplet en vez de JFrame Pero aparte de eso, no sé qué hacer.

Y sí, he leído http://docs.oracle.com/javase/tutorial/deployment/applet/deployingapplet.html y Google el error.

¿Fue útil?

Solución

El elemento JNLP debería ser:

<jnlp href="MYAPPLET.jnlp" codebase="http://www.myDomain.com/directoryContainingJar/">

o, dado que sería más común tener la base de código 1st ..

<jnlp codebase="http://www.myDomain.com/directoryContainingJar/" href="MYAPPLET.jnlp">

Pero asegúrese de validar el JNLP usando Janela. Puede verificar un JNLP mucho mejor de lo que puedo mirándolo.

Otros consejos

Este parece ser un error en JDK versión 1.6 Actualización 14: http://www.canoo.com/jira/browse/uba-8105. ¿Qué JDK estás usando? Prueba con un JDK 1.7.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top