Cómo especificar los applets bibliotecas de archivo JNLP
-
10-10-2019 - |
Pregunta
Estoy tratando de implementar un applet usando JNLP. La estructura de archivos es la siguiente:
/
dbstats.html
dbstats.jnlp
dbstats.jar
lib/
substance.jar
trident.jar
guava-0.7.jar
Aquí está mi HTML:
<html>
<head>
<title>Dreambearstatistieken</title>
<script src="http://www.java.com/js/deployJava.js"></script>
<script type="text/javascript">
var attributes = {
code:'dreambear.stats.viewer.DBStatsViewer',
width:900, height:600
};
var parameters = {jnlp_href: "dbstats.jnlp"};
var version = "1.6";
</script>
</head>
<body>
<script type="text/javascript">
deployJava.runApplet(attributes, parameters, version);
</script>
</body>
</html>
Y el archivo JNLP:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>Dreambearstatistieken</title>
<vendor>Weber</vendor>
</information>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="lib/trident.jar" />
<jar href="lib/substance.jar" />
<jar href="lib/guava-r07.jar" />
<jar href="dbstats.jar" main="true" />
</resources>
<applet-desc
name="Dreambearstatistieken"
main-class="dreambear.stats.viewer.DBStatsViewer"
width="900"
height="600">
</applet-desc>
<update check="background" />
</jnlp>
Por lo que yo puedo ver, todo debería estar bien, pero no lo es. Consigo un ClassNotFoundException
en org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel
, que está en substance.jar
. ¿Qué estoy haciendo mal?
Y en general, ¿hay un buen tutorial o un libro sobre el uso de applets y JNLP en la década de 2010?
Solución
En primer lugar su codebase
está vacía. Por lo que yo recuerdo que debe contener la ruta absoluta a su aplicación. Probablemente estoy equivocado pero el comienzo de esta. Si le ayuda, pero que desea volver a utilizar el código base de archivos jnlp intento = "" (Aunque no estoy seguro de que es legal.)
A continuación, intenta descargar uno de los frascos en el directorio lib utilizando el navegador. Es necesario estar seguro de que este directorio es accesible.
Buena suerte!
Otros consejos
Hay que poner el nombre del jlnp
en href=""
también. Hacerlo de esta manera:
<jnlp spec="1.0+" codebase="http://mydomain:5500/myapp" href="dbstats.jnlp">