2017-01-03 5 views
0

J'essaye de faire migrer une applet Java vers Java Web Start. Par conséquent, j'appelle l'applet avec le fichier jnlp-suivante:Encodage malformé de uxxxx avec Java Web Start et apache.commons-logging

<?xml version="1.0"?> 
<jnlp spec="1.0+" codebase="http://localhost:7001/codebase/"> 
    <information> 
     <title>title</title> 
     <vendor>vendor</vendor> 
    </information> 
    <resources> 
     <java version="1.7"/> 
     <jar href="myapplet.jar"/> 
     <extension name="dependencies" href="Dependencies.jnlp"/> 
    </resources> 
    <applet-desc main-class="AppletMainClass" name="MyApplet"/> 
</jnlp> 

Le fichier de dépendances:

<?xml version="1.0"?> 
<jnlp spec="1.0+" codebase="http://localhost:7001/codebase/"> 
    <information> 
     <title>Dependencies</title> 
     <vendor>vendor</vendor> 
    </information> 
    <resources> 
     ... 
     <jar href="commons-logging.jar"/> 
     <jar href="log4j-1.2.11.jar"/> 
    </resources> 
    <component-desc/> 
</jnlp> 

Lors du démarrage de l'applet, l'enregistreur apache-commons doit être initialisé:

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 

public abstract class BaseApplet extends JApplet { 
    private transient Log log = LogFactory.getLog(BaseApplet.class); 
} 

Échec avec java.lang.IllegalArgumentException: encodage \ uxxx mal formé. Cependant, lors de l'exécution de l'applet sans fichier jnlp, aucune exception ne se produit.

La recherche sur le Web jusqu'à présent me donnait seulement la suggestion, qu'un caractère dans les fichiers de propriétés pourrait être échappé de manière incorrecte, mais je ne peux pas trouver une telle chose dans mes propriétés.

commons-logging.properties:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger 

log4j.properties:

log4j.rootLogger=INFO, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n 

log4j.logger.httpclient.wire.header=DEBUG 
log4j.logger.httpclient.wire.content=INFO 
log4j.logger.org.apache.commons.httpclient=WARN 

Quelle pourrait être autre la cause de cette exception?

Répondre

0

Il s'avère que le fichier commons-logging.properties a été corrompu dans le fichier jar (mais pas dans mon IDE), ce qui a provoqué l'exception d'encodage mal formé.