我正在编写一个需要包含在 jar 中的应用程序。
该程序需要验证并从 Excel 电子表格中获取数据。因此,我使用的是依赖于 xmlbeans jar 的 Apache POI 库。
我的问题是,当我使用 ant 将 xmlbeans jar 包含在我的 jar 中时
<jar
...
<zipfileset src="${xmlbeans.jar}" includes="**/*" />
构建然后运行jar,我收到以下错误:
Caused by: org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Could not locate compiled schema resource schemaorg_apache_xmlbeans/system/sE130CAA0A01A7CDE5A2B4FEB8B311707/index.xsb (schemaorg_apache_xmlbeans.system.sE130CAA0A01A7CDE5A2B4FEB8B311707.index) - code 0
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.<init>(SchemaTypeSystemImpl.java:1519)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.initFromHeader(SchemaTypeSystemImpl.java:273)
at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.<init>(SchemaTypeSystemImpl.java:185)
当使用 testng 进行单元测试时,这可以正常工作。所以问题显然在于将 xmlbeans jar 合并到我的 jar 中。是否有可能做到这一点?POI 库依赖于它。
我已经解压缩了我的 jar,确实缺少资源。
我正在为我正在使用的 poi 库使用正确版本的 xmlbeans。
这是我正在使用的库:
poi-3.7.jar poi-ooxml-3.7-beta3.jar poi-ooxml-schemas-3.7-beta3.jar
和以下版本的 xmlbeans:
xmlbeans-2.3.0.jar
非常感谢