After testing, I found the problem was on the serializer modifier, so I made this change.

Comment From: polarbear567

@snicoll Could you please spare time to look at it? I don't know why this kind of failure occurs. I tested all cases of jarcommandit locally, and they can pass. Change nothing, now it works fine.

Comment From: snicoll

@polarbear567 I am sure you have the best intention but there is no need to at me for a review, the PR is open and someone from the team will have a look to it when time permits.

Comment From: polarbear567

Hi, @snicoll I think you misunderstood me. It's not that this PR needs your review, but that there is a problem with the CI build of spring-boot(like this: https://ci.spring.io/builds/93431). I want to ask you to help me to have a look this problem. After that, I tried again and passed. And I don't know who to contact if I have this problem.

Comment From: polarbear567

@snicoll Thank you for your opinion. I'd like to work this. It's complicated but interesting.

Comment From: polarbear567

Sorry to click the re-review button first. At present, it is judged according to the parameters in the constructor. There are many situations for the application of this annotation. I have considered all situations as much as possible, but I am not sure whether there will be any omissions.

Comment From: snicoll

@polarbear567 every commit you push sends a notification to a large number of watchers. In the interest of keeping those to an acceptable level, please refrain from pushing isolated commits and, in particular, commits to trigger a new build. The build should work for you locally before submitting changes and we can figure out on our side what led to the build failure when reviewing.

Comment From: polarbear567

@snicoll Sure, I will notice this. And I'm not sure how to rebuild cli build, because my local build was successful

Comment From: snicoll

@polarbear567 thanks for the efforts thus far but I think this is more involved than I thought initially and the lack of tests in this PR makes it hard to track what is covered and what isn't. I've started to roll-out a solution of my own and I've a number of tests that are covering the change. Given the complexity and potential change in other part of the codebase I am going to close this one. Thanks anyway.