繁体   English   中英

应用程序无法使用One-Jar查找XSD文件

[英]Application fails to find XSD file using One-Jar

我正在使用One-Jar的maven插件将Java及其所有依赖项打包到一个jar中。

该项目有一个名为schema.xsd的资源。

当我使用java -jar myJar.one-jar运行jar文件时,出现以下错误:

 org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document
 'jar:file:/../lib/myJar.one-jar.jar!/lib/myJar.jar!/schema.xsd', because 1) could not find 
the document; 2) the document could not be read; 3) the root element of the document is not 
<xsd:schema>.

知道为什么会这样吗?

注意:应用程序将log4j.properties作为资源,它可以识别它。

我很确定jre中的Jar url连接处理实现不能处理多个嵌套(该url中包含2个'!'字符)。 不确定one-jar如何处理从嵌套jar中读取类文件,但是您可能需要先将xsd提取到临时文件,然后才能使用它。

就个人而言,我通常将Maven程序集插件与“ jar-with-dependencies”目标一起使用,除非您在一个或多个jar中有冲突的文件,否则该插件就可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM