java - 可执行 Jar : jorg. apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I) org.apache.poi.ooxml.POIXMLTypeLoader.<clinit> 中的 Jar

标签 java jar apache-poi

我成功使用了我编写的 Java 命令行程序 使用 Apache POI 文件读取 Microsoft Word (.docx) 文件并邮寄。我希望将其打包为可执行 jar。

我正在创建这个 通过获取我的应用程序需要的每个 jar 并使用 jar -xvf 进行扩展。

Stackoverflow 问题 183292 描述了在以下情况下可以使用的技术: 人们需要将一个库“放在 jar 里”。

不幸的是,当我运行它时,我收到以下错误。

DEBUG: setDebug: JavaMail version 1.4ea
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    at org.apache.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(XWPFDocument.java:178)
    at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:184)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:145)
    at m4.main(m4.java:273)

在创建 jar fille 之前我做的最后一件事是扩展 (使用jar -xvf)xmlbeans-5.1.3.jar。 然后我重新打包了所有内容(我的应用程序和打包所有内容的结果) 其他文件。)

StackOverflow.com 上的问题 20799326 解释了这一点 症状是由类路径上的多个 xml beans jar 文件引起的。
但是,由于可执行 jar 应该只能看到扩展版本, 我不认为这会成为问题。

问题 183292 进一步指出,扩展一个 jar 来创建另一个 jar 可以 导致包名称冲突的问题。

(但是“如果人们使用正确的方法,这种情况就不会发生” 包,...”但是,我当然相信 Apache 确实使用了该标准 封装约定...

我上次扩展了5.1版本。
这应该取代任何可能有的旧版本 一直躺在目录中。 (以防万一,我尝试删除旧的 org/apache/xmlbeans 目录,然后重做 jar。没有帮助。)

扩展 jar 后,我执行了 ls -R
我冒昧地附上 list ,碰巧有人可能会 看到那里有东西。我确实缩写了那些看起来最不相关的部分 带省略号。

m4:
com
Debug
javax
LICENSE.txt
m4$1.class
m4$AddressMap.class
m4.class
m4$CmdLineConst.class
Manifest.txt
META-INF
NOTICE.txt
org
resolver.jar
schemaorg_apache_xmlbeans

m4/com:
microsoft
sun

m4/com/microsoft:
schemas

m4/com/microsoft/schemas:
compatibility
office
vml

...
m4/com/microsoft/schemas/office:
excel
office
visio
x2006

m4/com/microsoft/schemas/office/excel:
    ...
m4/com/microsoft/schemas/office/x2006:
digsig
encryption
keyEncryptor

m4/com/microsoft/schemas/office/x2006/digsig:
CTSignatureInfoV1.class
CTSignatureInfoV1$Factory.class
....

m4/com/microsoft/schemas/office/x2006/digsig/impl:
...

m4/com/microsoft/schemas/office/x2006/encryption:
CTDataIntegrity.class


....
m4/com/sun:
mail

m4/com/sun/mail:
handlers
iap
imap
pop3
smtp
util

m4/com/sun/mail/handlers:
image_gif.class
image_jpeg.class
message_rfc822.class
multipart_mixed.class
text_html.class
text_plain.class
text_xml.class

m4/com/sun/mail/iap:
Argument.class
AString.class
Atom.class
....

m4/com/sun/mail/imap:
ACL.class
AppendUID.class
DefaultFolder$1.class
...

m4/com/sun/mail/imap/protocol:
BASE64MailboxDecoder.class
BASE64MailboxEncoder.class
BODY.class
...

....

m4/com/sun/mail/smtp:
DigestMD5.class
SMTPAddressFailedException.class
....

m4/com/sun/mail/util:
ASCIIUtility.class
BASE64DecoderStream.class
...

m4/Debug:  (This is my class)
Debug.class
Debug.java

m4/javax:
mail

m4/javax/mail:
Address.class
AuthenticationFailedException.class
Authenticator.class
BodyPart.class
....

m4/javax/mail/event:
ConnectionAdapter.class
ConnectionEvent.class
....

m4/javax/mail/internet:
AddressException.class
AsciiOutputStream.class
CachedDataHandler.class
....

m4/javax/mail/search:
AddressStringTerm.class
AddressTerm.class
AndTerm.class
....

m4/javax/mail/util:
...

m4/META-INF:
INDEX.LIST
javamail.charset.map
javamail.default.address.map
javamail.default.providers
LICENSE
LICENSE.txt
mailcap
MANIFEST.MF
maven
NOTICE
NOTICE.txt
services
SUN_MICR.RSA
SUN_MICR.SF
xmlbeans.bnd

m4/META-INF/maven:
org.apache.commons
org.ow2.jonas.osgi

m4/META-INF/maven/org.apache.commons:
commons-collections4
commons-compress

....

m4/org:
apache
etsi
openxmlformats
w3
w3c

m4/org/apache:
commons
env
poi
xml
xmlbeans

m4/org/apache/commons:
collections4
compress

m4/org/apache/commons/collections4:
ArrayStack.class
ArrayUtils.class
bag
Bag.class
BagUtils.class
bidimap
...

m4/org/apache/commons/collections4/bag:
AbstractBagDecorator.class
AbstractMapBag$BagIterator.class
AbstractMapBag.class


.....

m4/org/apache/commons/compress:
archivers
changes
....

m4/org/apache/commons/compress/archivers:
ar
ArchiveEntry.class
ArchiveException.class
ArchiveInputStream.class
....
tar
zip

...

m4/org/apache/env:
WhichFactory.properties
WhichJar.properties

m4/org/apache/poi:
common
ddf
EmptyFileException.class
....

m4/org/apache/poi/common:
usermodel

m4/org/apache/poi/common/usermodel:
fonts
Hyperlink.class
HyperlinkType.class

m4/org/apache/poi/common/usermodel/fonts:
FontCharset.class
FontFamily.class
....

m4/org/apache/poi/ddf:
AbstractEscherOptRecord$1.class
AbstractEscherOptRecord.class
DefaultEscherRecordFactory.class
....

m4/org/apache/poi/extractor:
ole2
OLE2ExtractorFactory.class
POIOLE2TextExtractor.class
POITextExtractor.class

m4/org/apache/poi/extractor/ole2:
OLE2ScratchpadExtractorFactory.class

....


m4/org/apache/poi/ooxml:
extractor
POIXMLDocument.class
...

m4/org/apache/poi/ooxml/extractor:
CommandLineTextExtractor.class
....

m4/org/apache/poi/ooxml/util:
DocumentHelper$1.class
DocumentHelper.class
....

m4/org/apache/poi/openxml4j:
exceptions
opc
util

.....

m4/org/apache/poi/sl/usermodel:
AbstractColorStyle.class
AutoNumberingScheme$1.class
AutoNumberingScheme.class
...
TextShape$TextPlaceholder.class
VerticalAlignment.class

m4/org/apache/poi/ss:
excelant
extractor
format
formula
SpreadsheetVersion.class
usermodel
util

m4/org/apache/poi/ss/excelant:
antlib.xml
ExcelAntEvaluateCell.class
ExcelAntHandlerTask.class
ExcelAntPrecision.class
....

m4/org/apache/poi/ss/excelant/util:
ExcelAntEvaluationResult.class
ExcelAntWorkbookUtil.class
ExcelAntWorkbookUtilFactory.class

m4/org/apache/poi/ss/extractor:
EmbeddedData.class
EmbeddedExtractor$BiffExtractor.class
...

m4/org/apache/poi/ss/format:
CellDateFormatter$1.class
CellDateFormatter.class
CellDateFormatter$DatePartHandler.class
CellElapsedFormatter$1.class
...

m4/org/apache/poi/ss/formula:
atp
BaseFormulaEvaluator$1.class
BaseFormulaEvaluator.class
...
WorkbookDependentFormula.class
WorkbookEvaluator$1.class
WorkbookEvaluator.class
WorkbookEvaluatorProvider.class

...

....

m4/org/apache/poi/xddf:
usermodel

m4/org/apache/poi/xddf/usermodel:
BlackWhiteMode.class
chart
CompoundLine.class
...
XDDFRadarChartData.class
XDDFRadarChartData$Series.class
XDDFScatterChartData.class
XDDFScatterChartData$Series.class
XDDFSeriesAxis.class
XDDFValueAxis.class

....

....

m4/org/apache/poi/xwpf:
extractor
model
usermodel

m4/org/apache/poi/xwpf/extractor:
XWPFWordExtractor.class

m4/org/apache/poi/xwpf/model:
WMLHelper.class
XWPFCommentsDecorator.class
XWPFHeaderFooterPolicy.class
XWPFParagraphDecorator.class

m4/org/apache/poi/xwpf/usermodel:
BodyElementType.class
BodyType.class
Borders.class
BreakClear.class
...
XWPFTable$1.class
XWPFTable$Border.class
...

m4/org/apache/xml:
resolver

m4/org/apache/xml/resolver:
apps
Catalog.class
CatalogEntry.class
...
Resolver.class
tools
Version.class

m4/org/apache/xml/resolver/apps:
resolver.class
xparse.class
XParseError.class
xread.class

m4/org/apache/xml/resolver/etc:
catalog.dtd
catalog.rng
catalog.xsd

...

m4/org/apache/xmlbeans:
BindingConfig.class
CDataBookmark.class
DelegateXmlObject.class
...
XmlUnsignedShort$Factory.class
XmlValidationError.class

m4/org/apache/xmlbeans/impl:
common
config
inst2xsd
jam
piccolo
regex
richParser
schema
soap
store
tool
util
validator
values
xb
xpathgen
xsd2inst

m4/org/apache/xmlbeans/impl/common:
ConcurrentReaderHashMap$1.class
ConcurrentReaderHashMap$BarrierLock.class
ConcurrentReaderHashMap.class
ConcurrentReaderHashMap$Entry.class
...
XPath.class
XPath$CompilationContext.class
XPath$ExecutionContext.class
XPath$ExecutionContext$PathContext.class
XPath$Selector.class
XPath$Step.class
XPath$XPathCompileException.class

...

m4/org/etsi:
uri

m4/org/etsi/uri:
x01903

m4/org/etsi/uri/x01903:
v13

m4/org/etsi/uri/x01903/v13:
AnyType.class
AnyType$Factory.class
CertIDListType.class
CertIDListType$Factory.class
CertIDType.class
CertIDType$Factory.class
...
XAdESTimeStampType.class
XAdESTimeStampType$Factory.class

m4/org/etsi/uri/x01903/v13/impl:
AnyTypeImpl.class
CertIDListTypeImpl.class
CertIDTypeImpl.class
CertificateValuesTypeImpl.class
...
UnsignedPropertiesTypeImpl.class
UnsignedSignaturePropertiesTypeImpl.class
XAdESTimeStampTypeImpl.class

m4/org/openxmlformats:
schemas

m4/org/openxmlformats/schemas:
drawingml
officeDocument
presentationml
spreadsheetml
wordprocessingml
xpackage

....
...

m4/org/openxmlformats/schemas/officeDocument:
x2006

m4/org/openxmlformats/schemas/officeDocument/x2006:
customProperties
docPropsVTypes
extendedProperties
relationships

...

m4/org/openxmlformats/schemas/spreadsheetml/x2006/main:
CalcChainDocument.class
CalcChainDocument$Factory.class
ChartsheetDocument.class
ChartsheetDocument$Factory.class
CommentsDocument.class
...
StylesDocument.class
StylesDocument$Factory.class
STZoom$Enum.class

....
m4/schemaorg_apache_xmlbeans/javaname/org/apache/xmlbeans:
impl

m4/schemaorg_apache_xmlbeans/javaname/org/apache/xmlbeans/impl:
xb

m4/schemaorg_apache_xmlbeans/javaname/org/apache/xmlbeans/impl/xb:
ltgfmt
substwsdl
xmlconfig
xmlschema
xsdownload
xsdschema

m4/schemaorg_apache_xmlbeans/javaname/org/apache/xmlbeans/impl/xb/ltgfmt:
Code.xsb
FileDesc
FileDesc.xsb
TestCase
   ... (rest is all schemaorg stuff)

最佳答案

这里出现同样的错误,但是加载 Excel 文件,只需将我的 XMLBeans 从 2.3.0 升级到 3.1.0,一切都很好。

在这里下载:

https://www.apache.org/dyn/closer.lua/poi/xmlbeans/release/bin/xmlbeans-bin-3.1.0.zip

关于java - 可执行 Jar : jorg. apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I) org.apache.poi.ooxml.POIXMLTypeLoader.<clinit> 中的 Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53067465/

相关文章:

Java Replaceall 忽略大小写和特殊字符

java - 如何处理不导致错误的emptycollectionsException?

Java Eclipse 可执行 jar 文件

java - 什么方法签名适合返回通用对象?

java - Java 中有 RedBeanPHP ORM 类似物吗?

java - 如何在 Eclipse Indigo 中使用(运行)MigLayout?

java - 导出并运行 Intellij .jar 项目

jasper-reports - 如何设置Jasper使用XSSF?

java - 在 BDD 测试用例中使用模拟是否明智?

java - 在java中修改大的excel(xlsx)文件