java取linux本地xml,java-使用apache poi读取.xlsx文件会在Linux机器...

我有一个读取.xlsx文件并向用户显示内容的应用程序.该应用程序在Windows环境下运行良好.

我将此Web应用程序的.war文件部署在ubuntu服务器上的tomcat6上.我还复制了服务器上的.xlsx文件.

代码中文件的路径正确.

但是线

FileInputStream file = new FileInputStream(new File(FileName));

XSSFWorkbook workbook = new XSSFWorkbook(file);

给出一个错误

java.lang.reflect.InvocationTargetException

org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException

org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)

org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)

org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)

org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:207)

com.qm.action.GetProjectNames.execute(GetProjectNames.java:107)

我检查了变量FileName是否包含服务器上文件的正确路径和文件名(/usr/local/Metrics/MetricFiles/FY2013_Q2_GIT_Review_Metrics_by_LSS-GC.xlsx)

由于ubunut服务器是VM,因此我已经使用WinSCP复制了.xlsx文件.文件的大小也正确.

为什么在Linux平台上发生此错误?

添加其他异常跟踪

Caused by: java.lang.reflect.InvocationTargetException at

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at

java.lang.reflect.Constructor.newInstance(Constructor.java:525) at

org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60) ... 68 more

Caused by: java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOfRange(Arrays.java:2694) at java.lang.String.(String.java:203) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseCdataLiteral(PiccoloLexer.java:3027) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseQuotedTagValue(PiccoloLexer.java:2936) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1754) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362) at

org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4678) at

org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290) at

org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400) at

org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714) at

org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439) at

org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270) at

org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257) at

org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) at

org.openxmlformats.schemas.spreadsheetml.x2006.main.StyleSheetDocument$Factory.parse(Unknown Source) at

org.apache.poi.xssf.model.StylesTable.readFrom(StylesTable.java:121) at

org.apache.poi.xssf.model.StylesTable.(StylesTable.java:92) at

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at

java.lang.reflect.Constructor.newInstance(Constructor.java:525) at

org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60) at

org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403) at

org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155) at

org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:207) at

com.qm.action.GetProjectNames.execute(GetProjectNames.java:107) at

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at

java.lang.reflect.Method.invoke(Method.java:601) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值