2017-01-03 6 views
0

JavaアプレットをJava Web Startに移行しようとしています。したがって、私は次のJNLPファイルでアプレットを呼び出す:Java Web Startおよびapache.commons-loggingで不正な形式の uxxxxエンコーディング

<?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> 

依存関係ファイル:

<?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> 

アプレットを起動し、apacheの-コモンズロガーが初期化される。

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); 
} 

これはで失敗します。java.lang.IllegalArgumentException:不正な形式の\ uxxxxをエンコードします。ただし、jnlpファイルなしでアプレットを実行すると例外は発生しません。

これまでのところ、Webを検索すると、プロパティファイルの文字が間違ってエスケープされる可能性がありますが、私のプロパティではそのようなものは見つかりませんでした。

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 

この例外の原因である可能性があります他に何が?

答えて

0

私のIDEではなくcommons-logging.propertiesが壊れていて、誤ったエンコーディング例外が発生していました。