You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by "PJ Fanning (Jira)" <ji...@apache.org> on 2024/04/08 19:02:00 UTC
[jira] [Resolved] (XMLBEANS-648) Cannot resolve type for handle _XY_Q=lang|R=lang@http://www.w3.org/XML/1998/namespace when running on java 9+
[ https://issues.apache.org/jira/browse/XMLBEANS-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
PJ Fanning resolved XMLBEANS-648.
---------------------------------
Fix Version/s: Version 5.2.1
Resolution: Fixed
[https://github.com/apache/xmlbeans/pull/13] merged
> 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
> Fix For: Version 5.2.1
>
> Attachments: Test678.java
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org