我正在尝试使用 Google AppEngine 上的 Apache POI 库解析 excel 2007 (.xlsx) 文件,但是在这样做时我遇到了异常(见下文)。
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
所以我咨询了 Apache POI 团队,但他们声称这是 AppEngine 问题。我不确定 AppEngine 问题的正确位置,但我知道很多 appengine 开发人员监控 Stackoverflow。所以在这里发布这个问题。
为 Apache POI 团队提交的错误:https ://issues.apache.org/bugzilla/show_bug.cgi?id=55665
这个错误有一个示例 Maven 项目,以及重现它的说明。我不确定如何在此处附加此 zip 文件。
如果有人知道如何解决这个问题,请告诉我,或者提交错误的正确位置。
堆栈跟踪的关键部分是:
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime$21 can not access a member of class org.apache.poi.xssf.usermodel.XSSFSheet with modifiers "protected"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:105)
at com.google.appengine.tools.development.agent.runtime.Runtime$22.run(Runtime.java:488)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:485)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkAccess(Runtime.java:479)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:123)
at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:135)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)