我重新部署了我的应用程序(google appengine),它似乎工作正常,但是当我尝试解析 Xml 时,我得到: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.com.sun .org.apache.xerces.internal.parsers")
这是什么意思?以及我该如何解决?
在以前版本的应用程序上,我没有收到此错误。
在本地运行应用程序时,我没有收到此错误。
我做了一些小改动 - 我将一些数据从 UI 传递到数据存储区
下面是解析 XML 的代码:
public static <T extends BaseDataObject> T xml2Bean(Class<T> clazz,
String xmlData) throws UnsupportedEncodingException, JAXBException {
Reader reader = new StringReader(xmlData);
JAXBContext context = getContext(clazz);
Unmarshaller um = context.createUnmarshaller();
return (T) um.unmarshal(reader);
}
我的猜测是谷歌曾经支持com.sun.org.apache.xerces.internal.parsers
但现在他们不支持,而且我的旧代码仍然有效,因为它在仍然支持时被推送......
我怎样才能验证这个猜测?即在哪里可以找到不受支持的软件包列表?
我正在考虑删除 XML 代码并改用 json,如何确保支持 json?