Rodrigo Merino created XMLBEANS-648: ---------------------------------------
Summary: Cannot resolve type for handle _XY_Q=lang|R=lang@http://www.w3.org/XML/1998/namespace when running on java 9+ Key: XMLBEANS-648 URL: https://issues.apache.org/jira/browse/XMLBEANS-648 Project: XMLBeans Issue Type: Bug Components: XmlObject Affects Versions: Version 5.2.0 Reporter: Rodrigo Merino When {{XsbReader}} loads internal resources (i.e.: {{org/apache/xmlbeans/metadata/attribute/http_3A_2F_2Fwww_2Ew3_2Eorg_2FXML_2F1998_2Fnamespace/lang.xsb}}) it ends up calling {{SchemaTypeLoaderImpl#typeSystemForComponent}}. There, {{_resourceLoader}} is null, and using the classloader it cannot find resources in packages not exported (declared in {{module-info.java}}). An alternative would be to have a {{_resourceLoader}} that attempts to load the resource with the anchorClass rather than with the classLoader, that way internal resources are visible from within the module. The stack of the error that is thrown is: {{{}Caused by: org.apache.xmlbeans.SchemaTypeLoaderException: Cannot resolve type for handle _XY_Q=lang|R=lang@http://www.w3.org/XML/1998/namespace (org.apache.xmlbeans.metadata.system.sXMLSCHEMA.schemad77felemtype) - code 13{}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.XsbReader.readHandle(XsbReader.java:483){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.XsbReader.readTypeRef(XsbReader.java:548){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.XsbReader.loadAttribute(XsbReader.java:1282){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.XsbReader.readAttributeData(XsbReader.java:1275){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.XsbReader.finishLoadingType(XsbReader.java:902){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.resolveHandle(SchemaTypeSystemImpl.java:940){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.SchemaComponent$Ref.getComponent(SchemaComponent.java:111){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.SchemaType$Ref.get(SchemaType.java:1072){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.SchemaPropertyImpl.getType(SchemaPropertyImpl.java:85){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createElementType(SchemaTypeImpl.java:991){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.values.XmlObjectBase.create_element_user(XmlObjectBase.java:879){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.store.Xobj.getUser(Xobj.java:1597){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.store.Xobj.find_element_user(Xobj.java:1968){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.xb.xsdschema.impl.SchemaDocumentImpl.getSchema(SchemaDocumentImpl.java:38){}}}{{{}at org.apache.xmlbeans/org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:163){}}}{{{}...{}}} This works fine on java 8 because module access rules are not enforced by java in that version (jpms was introduced in java 9). -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org