2011-01-20 50 views
1

我想根據xs模式文件驗證xml文件。現在,我將xml文件作爲命令行arg提供。並需要將我的模式文件保存在我的類路徑中。可以Xerces Java Parser從ClassPath加載資源並使用Jar可執行文件運行它?

爲此,我已經使用的Xerces(2_11_0)語法分析器的Java

我已經把架構文件包內,並加入我的類路徑這個文件夾裏面。

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

當我運行在Eclipse中的代碼,它的工作原理般的魅力,但是當我出口我的項目作爲一個可執行的JAR問題就出現了。

我嘗試運行jar,它無法找到SCHEMA文件。

file:/ C:/ MY_JAR! /PACKAGE/SCHEMA_FILE.xsd

誰能告訴我這是爲什麼不從可執行的JAR文件,併爲其解決工作的原因嗎?

讓我知道是否需要更多信息。

感謝

回答

0

這是因爲this.getClass().getResource(SCHEMA_NAME)的URL現在像jar:file:/C:/MY_JAR!/PACKAGE/SCHEMA_FILE.xsd。看看是否只用this.getClass().getResource(SCHEMA_NAME).toString()就可以。

+0

它也轉換爲字符串後不工作。我正在運行「java -jar my_jar.jar」,它給出了相同的錯誤文件:/ C:/ MY_JAR!/PACKAGE/SCHEMA_FILE.xsd – user1584499 2011-01-21 07:13:51

相關問題