java poi导出excel,将java项目导出jar包,linux中 java -Xbootclasspath/a:$libs -jar 导出.jar,运行报错!在web项目和main方法中都没任何问题。有清楚怎么回事的吗?
public static void main(String[] args) {
System.out.println("----------开始-----------");
HSSFWorkbook wb01 = new HSSFWorkbook();
System.out.println("----------wb01结束-----------");
XSSFWorkbook wb02 = new XSSFWorkbook();
System.out.println("----------wb02结束-----------");
SXSSFWorkbook wb03 = new SXSSFWorkbook();
System.out.println("----------wb03结束-----------");
}
----------开始-----------
----------wb01结束-----------
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.getMethod(SchemaTypeLoaderBase.java:73)
at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.<clinit>(SchemaTypeLoaderBase.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.xmlbeans.XmlBeans.getNoType(XmlBeans.java:856)
at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:881)
at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook.<clinit>(Unknown Source)
at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook$Factory.newInstance(Unknown Source)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.onWorkbookCreate(XSSFWorkbook.java:451)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:248)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:239)
at com.adtec.Runner.main(Runner.java:13)
Caused by: java.lang.NullPointerException
at org.apache.xmlbeans.impl.store.Path.<clinit>(Path.java:70)
... 16 more
jdk7和jdk8都试过,用的是poi3.17,poi3.8和poi4.1.2也尝试过
根据错误定位到源代码是Path类中有静态语句块发生空指针
好像是报空指针异常了,可以断点跟踪一下。
服务器上,你得写你文件的地址才行吧,不然程序不知道你文件地址是写在哪