To reproduce the problem can be used https://github.com/spring-projects-experimental/spring-native, branch sb-3.0.x

On Windows, I have installed GraalVM 22.3.0:

c:\spring-native\samples\petclinic-jpa>native-image --version
GraalVM 22.3.0 Java 17 CE (Java Version 17.0.5+8-jvmci-22.3-b08)

c:\spring-native\samples\petclinic-jpa>java -version
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08)
OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08, mixed mode, sharing)

On samples\maven-parent\pom.xml replace:

<id>aot-generate</id>
<goals>
    <goal>aot-generate</goal>
</goals>

with :

<id>process-aot</id>
<goals>
    <goal>process-aot</goal>
</goals>

Go to folder samples\petclinic-jpa

When I try to compile native the sample on native:

mvn -DskipTests clean native:compile

I am receiving the following error:

[2/7] Performing analysis...  [**]                                                                      (82.2s @ 3.44GB)
  26,640 (95.36%) of 27,936 classes reachable
  40,280 (70.35%) of 57,256 fields reachable
 117,432 (71.46%) of 164,340 methods reachable
     772 classes,   233 fields, and 3,191 methods registered for reflection
       4 native libraries: crypt32, ncrypt, psapi, winhttp

Fatal error: java.lang.TypeNotPresentException: Type kotlinx.serialization.BinaryFormat not present
        at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
        at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
        at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
        at java.base/sun.reflect.generics.reflectiveObjects.LazyReflectiveObjectGenerator.reifyBounds(LazyReflectiveObjectGenerator.java:65)
        at java.base/sun.reflect.generics.reflectiveObjects.TypeVariableImpl.getBounds(TypeVariableImpl.java:125)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionDataBuilder.makeTypeReachable(ReflectionDataBuilder.java:521)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionDataBuilder.makeTypeReachable(ReflectionDataBuilder.java:529)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionDataBuilder.registerTypesForClass(ReflectionDataBuilder.java:412)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processMethodMetadata(ReflectionDataBuilder.java:267)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionDataBuilder.duringAnalysis(ReflectionDataBuilder.java:187)
        at org.graalvm.nativeimage.builder/com.oracle.svm.reflect.hosted.ReflectionFeature.duringAnalysis(ReflectionFeature.java:238)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:742)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:78)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:742)
        at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.PointsToAnalysis.runAnalysis(PointsToAnalysis.java:736)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:739)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:572)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:529)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:580)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:128)
Caused by: java.lang.ClassNotFoundException: kotlinx.serialization.BinaryFormat
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:467)
        at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
        ... 20 more
------------------------------------------------------------------------------------------------------------------------
                        5.3s (5.3% of total time) in 33 GCs | Peak RSS: 6.59GB | CPU load: 5.45
========================================================================================================================
Failed generating 'petclinic-jpa' after 1m 39s.
Error: Image build request failed with exit status 1

**Comment From: wilkinsona**

The Spring Native sb-3.0.x branch is rather stale now and shouldn't be used. We'd like to see a reproduction of the problem with a minimal, standalone example.

Judging by what you've shared thus far, it looks like Maven's using Graal 22.2. Can you also please share the complete output of the build and the output from `mvn -version`.

**Comment From: eugeniace**

C:\spring-native\samples\petclinic-jpa>mvn -version

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: C:\apache-maven-3.8.1\bin.. Java version: 17.0.5, vendor: GraalVM Community, runtime: c:\Program Files\Java\graalvm-ce-java17-22.3.0 Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" ```

Comment From: eugeniace

Thank you for your hint. Although the output of native-image --version, java -version and mvn -version was ok, on compilation was used an older version of GraalVM because the GRAALVM_HOME property was set to another java version.

Comment From: wilkinsona

Thanks for letting us know.