2011-06-29 4 views
1

J'essaie d'ajouter des bibliothèques à l'applet. J'utilise le jnlp + deploy java javascript. Tout semble être configuré correctement, bourgeon les classes ne sont pas trouvées (exception de classe non trouvée).Java applet jnlp + bibliothèques

Voici mon code:

JNLP:

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="." href=""> 
    <information> 
     <title>KeystoreTestApplet</title> 
     <vendor>Paulie</vendor> 
    </information> 
    <resources> 
     <!-- Application Resources --> 
     <j2se version="1.6+" 
       href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="KeystoreTestApplet.jar" main="true" /> 
     <jar href="xmlsec-1.4.5.jar" /> 
     <jar href="xml-apis-1.3.03.jar" /> 
     <jar href="xercesImpl-2.9.1.jar" /> 
     <jar href="xalan-2.7.1.jar" /> 
     <jar href="sunpkcs11.jar" /> 
     <jar href="serializer-2.7.1.jar" /> 
     <jar href="commons-logging-api-1.1.jar" /> 
     <jar href="commons-logging-1.1.jar" /> 
    </resources> 
    <applet-desc 
     name="KeystoreTestApplet" 
     main-class="KeystoreJApplet" 
     width="600" 
     height="370"> 
      <param name="MAYSCRIPT" value="true"/> 
    </applet-desc> 
    <update check="background"/> 
    <security> 
    <all-permissions/> 
    </security>  
</jnlp> 

HTML:

<script src="deployJava.js"></script> 
<script> 
    var attributes = { codebase:'.', code:'KeystoreJApplet', width:600, height:370} ; 
    var parameters = {jnlp_href: 'KeystoreTestApplet.jnlp', mayscript: 'true'} ; 
    deployJava.runApplet(attributes, parameters, '1.6'); 
</script> 

Le pot de l'applet, page html et les bibliothèques sont des bocaux dans le même répertoire.

Merci pour votre aide.

Répondre

2

J'ai trouvé le problème réel sur un endroit un peu différent.

Les bibliothèques ne sont pas incluses dans les chemins du fichier jnlp, mais dans le manifeste. Les chemins du manifeste ont été spécifiés par IDE en tant que lib/{library} .jar. Alors java cherchait les pots dans un répertoire différent.

+0

alors comment l'avez-vous réparé? –

+0

Pouvez-vous partager comment avez-vous réparé le problème? S'il vous plaît. –

4
<jnlp spec="1.0+" codebase="." href=""> 
  • Si cela est une applet intégrée, laissez le sortir codebase.
  • Si l'applet est flottante, utilisez une URL explicite (non relative) pour le codebase.

Pendant que vous y êtes, spécifiez une valeur sensible pour href ou supprimez le champ entier.


Il est également rentable de valider les fichiers JNLP lorsqu'ils ne fonctionnent pas comme prévu. Je (aidé à écrire &) recommande JaNeLA.


BTW - mayscript est-il pris en charge dans les applets JNLP?