ProGuard javafx mvn Confusion error

Error message:

 [proguard] error[1004]: proguard.evaluation.exception.IncompleteClassHierarchyException
 [proguard]   --> com/oracle/truffle/js/scriptengine/GraalJSEngineFactory : getScriptEngine()Ljavax/script/ScriptEngine; at areturn
 [proguard] 6 |     new #120
 [proguard] 9 |     dup
 [proguard] 10 |     aload_0 v0
 [proguard] 11 |     invokespecial #122
 [proguard] 14 |     goto +11
 [proguard] 25 |     areturn
 [proguard]   |     ^^^^^^^ Can't find common super class of [com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine) and [com.oracle.truffle.js.scriptengine.GraalJSScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.GraalJSScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine)
 [proguard] Variables: [P0:P0:Lcom/oracle/truffle/js/scriptengine/GraalJSEngineFactory;=!]
 [proguard] Stack: [20:17:N17:Lcom/oracle/truffle/js/scriptengine/PlaceholderScriptEngine;=!]
 [proguard] 
 [proguard] Unexpected error while performing partial evaluation:
 [proguard]   Class       = [com/oracle/truffle/js/scriptengine/GraalJSEngineFactory]
 [proguard]   Method      = [getScriptEngine()Ljavax/script/ScriptEngine;]
 [proguard]   Exception   = [proguard.evaluation.exception.IncompleteClassHierarchyException] (Can't find common super class of [com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine) and [com.oracle.truffle.js.scriptengine.GraalJSScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.GraalJSScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine))
 [proguard] Unexpected error while preverifying:
 [proguard]   Class       = [com/oracle/truffle/js/scriptengine/GraalJSEngineFactory]
 [proguard]   Method      = [getScriptEngine()Ljavax/script/ScriptEngine;]
 [proguard]   Exception   = [proguard.evaluation.exception.IncompleteClassHierarchyException] (Can't find common super class of [com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.PlaceholderScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine) and [com.oracle.truffle.js.scriptengine.GraalJSScriptEngine] (with 1 known super classes: com.oracle.truffle.js.scriptengine.GraalJSScriptEngine and 1 unknown classes: javax.script.AbstractScriptEngine))
 [proguard] Unexpected error
 [proguard] java.lang.RuntimeException: 
 [proguard] 
 [proguard] It appears you are missing some classes resulting in an incomplete class hierarchy, 
 [proguard] please refer to the troubleshooting page in the manual: 
 [proguard] https://www.guardsquare.com/en/products/proguard/manual/troubleshooting#superclass
 [proguard] 
 [proguard]     at proguard.ProGuard.execute(ProGuard.java:268) ~[proguard-base-7.4.1.jar:7.4.1]
 [proguard]     at proguard.ProGuard.main(ProGuard.java:648) ~[proguard-base-7.4.1.jar:7.4.1]

My project environment:

Mac os inter
JDK17.0.10
javafx21.0.2
proguard-maven-plugin

My MVN configuration:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.12.1</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.potato.potatotool.ToStart</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.8</version>
                <configuration>
                    <jlinkImageName>PotatoTool</jlinkImageName>
                    <launcher>launcher</launcher>
                    <mainClass>com.potato.potatotool/com.potato.potatotool.ToStart</mainClass>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <attach>true</attach>
                    <attachArtifactClassifier>pg</attachArtifactClassifier>
                    <libs>
                        <lib>${java.home}/jmods/java.base.jmod</lib>
                    </libs>
                    <obfuscate>true</obfuscate>
                    <injar>${project.build.finalName}-jar-with-dependencies.jar</injar>
                    <outjar>${project.build.finalName}-proguard.jar</outjar>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <proguardInclude>${project.basedir}/proguard.conf</proguardInclude>
                </configuration>
            </plugin>

My confusion rule:

-target 17
-dontnote
-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-useuniqueclassmembernames
-adaptresourcefilenames **.fxml,**.png,**.css,**.properties,**.json,**.js,**.xdb,**.txt,**.csv,**.dat
-adaptresourcefilecontents **.fxml
-adaptclassstrings

-printmapping out.map
-renamesourcefileattribute SourceFile
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keepnames interface ** { *; }
-keepparameternames
-keepclassmembers enum * { *; }

-keepclassmembers class * {
  @javafx.fxml.FXML *;
  @javax.inject.Inject *;
  @javax.annotation.PostConstruct *;
}

-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

-dontnote com.potato.potatotool.**
-printconfiguration
-keep public class com.potato.potatotool.ToStart {*;}


-keep class javafx.** {*;}
-dontwarn javafx.**
-keep class org.** {*;}
-dontwarn org.**
-keep class com.google.** {*;}
-dontwarn com.google.**
-keep class com.ibm.** {*;}
-dontwarn com.ibm.**
-keep class com.leewyatt.** {*;}
-dontwarn com.leewyatt.**
-keep class com.oracle.** {*;}
-dontwarn com.oracle.**
-keep class com.strobel.** {*;}
-dontwarn com.strobel.**
-keep class com.sun.** {*;}
-dontwarn com.sun.**

-dontwarn com.potato.**

I shouldn’t add -dontpreverify. Adding -dontpreverify would require me to add -noverify for the application to run, which I don’t want.

I have found the reason. Some things like Javax do not come from${Java. home}/jmods/Java. base. jmods. Of course, I don’t know where it comes from, so it can be written as follows:${Java. home}/jmods/. It succeeded