[
https://issues.apache.org/jira/browse/HDDS-13342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986655#comment-17986655
]
Ivan Andika commented on HDDS-13342:
------------------------------------
[~adoroszlai] Thanks for checking this out. I was trying to use
DatatypeConverter.printHexBinary on the ozone-manager module and build it using
our CI pipeline that is running on JDK21 (We use Gitlab runner), but
encountered this issue.
Locally, this can be reproduced by changing the IntelliJ Project Structure to
use the JDK21 and trying to build it.
I'm not sure whether there are other ways to handle it, but after researching I
find the AJC seems to be the cause as shown in the error. In the end, I used
the Hex.encodeHexString in the ozone-manager module. Previously I thought that
it was due to old aspectj-maven-plugin under org.codehaus.mojo, but after
upgrading it with the one under dev.aspectj, it still throws this error.
Please let me know whether this change makes sense and whether we should go
ahead with this.
[~echonesis] Btw, thanks for picking this up.
> Replace DatatypeConverter.printHexBinary with Hex.encodeHexString
> -----------------------------------------------------------------
>
> Key: HDDS-13342
> URL: https://issues.apache.org/jira/browse/HDDS-13342
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Ivan Andika
> Assignee: Chia-Chuan Ho
> Priority: Minor
>
> When trying to use DatatypeConverter.printHexBinary and build it on JDK21
> environment on the ozone-manager module, I encountered the following exception
> {code:java}
> [ERROR] Failed to execute goal
> dev.aspectj:aspectj-maven-plugin:1.14.1:compile (default) on project
> ozone-manager: AJC compiler errors: 3369
> [ERROR] error at import javax.xml.bind.DatatypeConverter;
> The import javax.xml.bind.DatatypeConverter cannot be resolved{code}
> This seems to be related javax.xml.bind removal in the newer JDK and
> aspectj-maven-plugin compiler being more strict than the normal javac
> compiler.
> To prevent this issue we can replace DatatypeConverter.printHexBinary with
> the Hex.encodeHexString instead. We need to ensure that the behavior remains
> unchanged, especially need to check the lowercase handling (e.g.
> Hex.encodeHexString by default will automatically return the result in
> lowercase). Afterwards, we can ban javax.xml.bind.DatatypeConverter in
> pom.xml.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]