[英]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.