[ 
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]

Reply via email to