2017-01-03 15 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> 

애플릿을 시작, 아파치 - 평민 로거를 초기화 할 수 있습니다 :

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 파일을 사용하지 않고 애플릿을 실행해도 예외는 발생하지 않습니다.

지금까지 웹을 검색하면 속성 파일의 문자가 잘못 이스케이프 처리 될 수 있다는 제안 만 받았지만 속성에는 아무 것도 찾을 수 없습니다.

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

jars 내부에서 commons-logging.properties가 손상되었지만 (내 IDE에서는 아님) 잘못된 인코딩 예외가 발생했음을 나타냅니다.