2011-01-20 9 views
1

xs 스키마 파일에 대해 xml 파일의 유효성을 검사하려고합니다. 자, xml 파일을 커맨드 라인 인수로 제공하고 있습니다. 클래스 파일에 내 스키마 파일을 보관해야합니다. Xerces Java Parser가 ClassPath에서 리소스를로드하고 Jar 실행 파일로 실행할 수 있습니까?

이 들어 나는 Xerces를 자바

내가 패키지에 스키마 파일을 보관하고 내 클래스 경로 내에서이 폴더를 추가 한

에 대한 (2_11_0) 파서를 사용했습니다.

String SCHEMA = this.getClass().getResource(SCHEMA_NAME).getFile(); 
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", SCHEMA); 

이클립스 내부에서 코드를 실행하면 매력처럼 작동하지만 프로젝트를 실행 가능한 jar 파일로 내보낼 때 문제가 발생합니다.

jar 파일을 실행하려고 시도했지만 SCHEMA 파일을 찾을 수 없습니다.

파일 :/C :/MY_JAR!

을 /PACKAGE/SCHEMA_FILE.xsd

이 사람이 날이 실행 항아리와이를위한 솔루션에서 작동하지 않는 이유를 알려 수 있습니까?

추가 정보가 필요한 경우 알려주세요.

감사

this.getClass().getResource(SCHEMA_NAME)의 URL 지금 jar:file:/C:/MY_JAR!/PACKAGE/SCHEMA_FILE.xsd 같은 것입니다 때문입니다

답변

0

. 단지 this.getClass().getResource(SCHEMA_NAME).toString()을 사용하면 효과가 있는지보십시오.

+0

문자열로 변환 한 후에도 작동하지 않습니다. "java -jar my_jar.jar"을 실행 중이며 동일한 오류 파일을 제공합니다./C :/MY_JAR! /PACKAGE/SCHEMA_FILE.xsd – user1584499

+0

원래 질문을 편집하고 stacktrace를 추가하십시오. 'SCHEMA' 값에 대한 출력을 추가하십시오. – kschneid

관련 문제