[
https://issues.apache.org/jira/browse/XMLBEANS-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rodrigo Merino updated XMLBEANS-648:
------------------------------------
Labels: pull-request-available (was: )
> 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
> Priority: Major
> Labels: pull-request-available
>
> 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: [email protected]
For additional commands, e-mail: [email protected]