-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Description
Describe the issue
GraalVM 21.2.0 generates the proxy-config as follows, same to the description in the official document:
[
["com.example.Printer","com.example.ExitCode"]
]However, GraalVM 21.3.0 generates proxy-config in a different format introduced by #3774:
[
{
"interfaces":["com.example.Printer","com.example.ExitCode"]}
]The new format is not described in the release note, the reference manual, nor the official medium post.
I wish we have some official references which explain the difference. :)
Steps to reproduce the issue
Simply run a jar file using dynamic proxy via native-image-agent.
I use a fork of SpotBugs like below:
// make sure GraalVM 21.3.0 is in the $JAVA_HOME in advance
$ git clone --branch graalvm [email protected]:KengoTODA/spotbugs.git // f1dcf2c6bcc8f1e173da5f25fc8b96df4fd7b531
$ cd spotbugs
$ ./gradlew assemble -x test
$ cd spotbugs/build/distributions
$ unzip spotbugs-4.5.1-SNAPSHOT.zip
$ export SPOTBUGS=spotbugs-4.5.1-SNAPSHOT/lib/spotbugs.jar
$ java -agentlib:native-image-agent -jar $SPOTBUGS -textui $SPOTBUGS
The procedure above will generate proxy-config.json like below:
[
{
"interfaces":["edu.umd.cs.findbugs.internalAnnotations.SlashedClassName"]}
,
{
"interfaces":["javax.annotation.Nonnull"]}
]Describe GraalVM and your environment:
- GraalVM version: CE 21.3.0
- JDK major version: 11
- OS: macOS 12.0.1 Monterey
- Architecture: AMD64