Search code examples
gradlejavafxgluonfx

GluonFX gradlew nativeRun classNotFoundException


I have a simple JavaFx Application with a Launcher and using the gralde GluonFX plugin I created a native executable. However when running the executable (with gradlew nativeRun) I get a ClassNotFound Exception.

The project structure is

demo
└── src
    └── main
        └── java
            └── test.demo
                └── HelloApplication.java
                    HelloApplication_Launcher.java 

the java classes are

package test.demo;

public class HelloApplication_Launcher {
    public static void main(String[] args) {

        HelloApplication.main(args);

    }
}

and

package test.demo;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

import java.io.IOException;

public class HelloApplication extends Application {
    @Override
    public void start(Stage stage) throws IOException {
        BorderPane pane = new BorderPane(new Button("Hallo"));
        Scene scene = new Scene(pane, 320, 240);
        stage.setTitle("Hello!");
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}

and the build.gradle file is

plugins {
    id 'java'
    id 'application'
    id 'org.openjfx.javafxplugin' version '0.0.13'
    id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.22'
}

group 'test'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

mainClassName = 'test.demo.HelloApplication_Launcher'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

javafx {
    version = '16'
    modules = ['javafx.controls']
}

Running it directly in intellij and also the excecutable from jlink (removed from the gradle file because not needed) works fine. However the executable created with gluonfx gives the error message

gradlew nativeRun
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:311)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:311)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:311)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:311)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication.main(HelloApplication.java:21)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication.main(HelloApplication.java:21)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication.main(HelloApplication.java:21)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication.main(HelloApplication.java:21)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication_Launcher.main(HelloApplication_Launcher.java:6)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication_Launcher.main(HelloApplication_Launcher.java:6)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication_Launcher.main(HelloApplication_Launcher.java:6)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at test.demo.HelloApplication_Launcher.main(HelloApplication_Launcher.java:6)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Caused by: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Caused by: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Caused by: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB] Caused by: java.lang.ClassNotFoundException: test.demo.HelloApplication
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at java.lang.Class.forName(DynamicHub.java:1121)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at java.lang.Class.forName(DynamicHub.java:1121)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at java.lang.Class.forName(DynamicHub.java:1121)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at java.lang.Class.forName(DynamicHub.java:1121)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:299)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:299)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:299)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      at javafx.application.Application.launch(Application.java:299)
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      ... 2 more
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      ... 2 more
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      ... 2 more
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] [SUB]      ... 2 more

> Task :nativeRun
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] ==================== RUN TASK ====================
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] ==================== RUN TASK ====================
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] ==================== RUN TASK ====================
[Fr. Mai 24 21:54:43 MESZ 2024][INFORMATION] ==================== RUN TASK ====================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 860ms
2 actionable tasks: 1 executed, 1 up-to-date

The build part runs without any issues (for completeness here the output)

gradlew nativeBuild
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] [SUB] Warning: Ignoring server-mode native-image argument --no-server.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] [SUB] Warning: Ignoring server-mode native-image argument --no-server.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] [SUB] Warning: Ignoring server-mode native-image argument --no-server.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] [SUB] Warning: Ignoring server-mode native-image argument --no-server.

> Task :nativeCompile
[Fr. Mai 24 21:53:08 MESZ 2024][INFORMATION] ==================== COMPILE TASK ====================
[Fr. Mai 24 21:53:08 MESZ 2024][INFORMATION] ==================== COMPILE TASK ====================
[Fr. Mai 24 21:53:08 MESZ 2024][INFORMATION] ==================== COMPILE TASK ====================
[Fr. Mai 24 21:53:08 MESZ 2024][INFORMATION] ==================== COMPILE TASK ====================
             _______  ___      __   __  _______  __    _
            |       ||   |    |  | |  ||       ||  |  | |
            |    ___||   |    |  | |  ||   _   ||   |_| |
            |   | __ |   |    |  |_|  ||  | |  ||       |
            |   ||  ||   |___ |       ||  |_|  ||  _    |
            |   |_| ||       ||       ||       || | |   |
            |_______||_______||_______||_______||_|  |__|

    Access to the latest docs, tips and tricks and more info on
    how to get support? Register your usage of Gluon Substrate now at

    https://gluonhq.com/activate



[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] We will now compile your code for x86_64-microsoft-windows. This may take some time.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] We will now compile your code for x86_64-microsoft-windows. This may take some time.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] We will now compile your code for x86_64-microsoft-windows. This may take some time.
[Fr. Mai 24 21:53:09 MESZ 2024][INFORMATION] We will now compile your code for x86_64-microsoft-windows. This may take some time.

[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] GraalVM Native Image: Generating 'test.demo.helloapplication_launcher' (shared library)...
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] GraalVM Native Image: Generating 'test.demo.helloapplication_launcher' (shared library)...
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] GraalVM Native Image: Generating 'test.demo.helloapplication_launcher' (shared library)...
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] GraalVM Native Image: Generating 'test.demo.helloapplication_launcher' (shared library)...
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:13 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB] [1/7] Initializing...                                                                                    (4,9s @ 0,15GB)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB] [1/7] Initializing...                                                                                    (4,9s @ 0,15GB)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB] [1/7] Initializing...                                                                                    (4,9s @ 0,15GB)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB] [1/7] Initializing...                                                                                    (4,9s @ 0,15GB)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Version info: 'GraalVM 22.1.0.1 Java 17 CE'
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Version info: 'GraalVM 22.1.0.1 Java 17 CE'
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Version info: 'GraalVM 22.1.0.1 Java 17 CE'
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Version info: 'GraalVM 22.1.0.1 Java 17 CE'
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  C compiler: cl.exe (microsoft, x64, 19.40.33808)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  C compiler: cl.exe (microsoft, x64, 19.40.33808)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  C compiler: cl.exe (microsoft, x64, 19.40.33808)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  C compiler: cl.exe (microsoft, x64, 19.40.33808)
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Garbage collector: Serial GC
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Garbage collector: Serial GC
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Garbage collector: Serial GC
[Fr. Mai 24 21:53:15 MESZ 2024][INFORMATION] [SUB]  Garbage collector: Serial GC
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB] [2/7] Performing analysis...  [**************]                                                          (27,6s @ 3,81GB)
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB] [2/7] Performing analysis...  [**************]                                                          (27,6s @ 3,81GB)
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB] [2/7] Performing analysis...  [**************]                                                          (27,6s @ 3,81GB)
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB] [2/7] Performing analysis...  [**************]                                                          (27,6s @ 3,81GB)
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   11á303 (90,47%) of 12á493 classes reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   11á303 (90,47%) of 12á493 classes reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   11á303 (90,47%) of 12á493 classes reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   11á303 (90,47%) of 12á493 classes reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   20á063 (65,98%) of 30á407 fields reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   20á063 (65,98%) of 30á407 fields reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   20á063 (65,98%) of 30á407 fields reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   20á063 (65,98%) of 30á407 fields reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   55á622 (64,29%) of 86á513 methods reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   55á622 (64,29%) of 86á513 methods reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   55á622 (64,29%) of 86á513 methods reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]   55á622 (64,29%) of 86á513 methods reachable
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      653 classes,   104 fields, and 1á932 methods registered for reflection
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      653 classes,   104 fields, and 1á932 methods registered for reflection
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      653 classes,   104 fields, and 1á932 methods registered for reflection
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      653 classes,   104 fields, and 1á932 methods registered for reflection
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      134 classes,   152 fields, and   206 methods registered for JNI access
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      134 classes,   152 fields, and   206 methods registered for JNI access
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      134 classes,   152 fields, and   206 methods registered for JNI access
[Fr. Mai 24 21:53:43 MESZ 2024][INFORMATION] [SUB]      134 classes,   152 fields, and   206 methods registered for JNI access
[Fr. Mai 24 21:53:45 MESZ 2024][INFORMATION] [SUB] [3/7] Building universe...                                                                               (2,1s @ 2,07GB)
[Fr. Mai 24 21:53:45 MESZ 2024][INFORMATION] [SUB] [3/7] Building universe...                                                                               (2,1s @ 2,07GB)
[Fr. Mai 24 21:53:45 MESZ 2024][INFORMATION] [SUB] [3/7] Building universe...                                                                               (2,1s @ 2,07GB)
[Fr. Mai 24 21:53:45 MESZ 2024][INFORMATION] [SUB] [3/7] Building universe...                                                                               (2,1s @ 2,07GB)
[Fr. Mai 24 21:53:47 MESZ 2024][INFORMATION] [SUB] [4/7] Parsing methods...      [*]                                                                        (1,2s @ 3,21GB)
[Fr. Mai 24 21:53:47 MESZ 2024][INFORMATION] [SUB] [4/7] Parsing methods...      [*]                                                                        (1,2s @ 3,21GB)
[Fr. Mai 24 21:53:47 MESZ 2024][INFORMATION] [SUB] [4/7] Parsing methods...      [*]                                                                        (1,2s @ 3,21GB)
[Fr. Mai 24 21:53:47 MESZ 2024][INFORMATION] [SUB] [4/7] Parsing methods...      [*]                                                                        (1,2s @ 3,21GB)
[Fr. Mai 24 21:53:50 MESZ 2024][INFORMATION] [SUB] [5/7] Inlining methods...     [****]                                                                     (2,9s @ 3,69GB)
[Fr. Mai 24 21:53:50 MESZ 2024][INFORMATION] [SUB] [5/7] Inlining methods...     [****]                                                                     (2,9s @ 3,69GB)
[Fr. Mai 24 21:53:50 MESZ 2024][INFORMATION] [SUB] [5/7] Inlining methods...     [****]                                                                     (2,9s @ 3,69GB)
[Fr. Mai 24 21:53:50 MESZ 2024][INFORMATION] [SUB] [5/7] Inlining methods...     [****]                                                                     (2,9s @ 3,69GB)
[Fr. Mai 24 21:54:05 MESZ 2024][INFORMATION] [SUB] [6/7] Compiling methods...    [****]                                                                    (15,2s @ 2,32GB)
[Fr. Mai 24 21:54:05 MESZ 2024][INFORMATION] [SUB] [6/7] Compiling methods...    [****]                                                                    (15,2s @ 2,32GB)
[Fr. Mai 24 21:54:05 MESZ 2024][INFORMATION] [SUB] [6/7] Compiling methods...    [****]                                                                    (15,2s @ 2,32GB)
[Fr. Mai 24 21:54:05 MESZ 2024][INFORMATION] [SUB] [6/7] Compiling methods...    [****]                                                                    (15,2s @ 2,32GB)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]                         5,5s (9,1% of total time) in 35 GCs | Peak RSS: 6,70GB | CPU load: 6,35
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]                         5,5s (9,1% of total time) in 35 GCs | Peak RSS: 6,70GB | CPU load: 6,35
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]                         5,5s (9,1% of total time) in 35 GCs | Peak RSS: 6,70GB | CPU load: 6,35
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]                         5,5s (9,1% of total time) in 35 GCs | Peak RSS: 6,70GB | CPU load: 6,35
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ------------------------------------------------------------------------------------------------------------------------
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Produced artifacts:
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Produced artifacts:
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Produced artifacts:
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Produced artifacts:
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\graal_isolate_dynamic.h (header)
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.build_artifacts.txt
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.build_artifacts.txt
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.build_artifacts.txt
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB]  C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gvm\demo\test.demo.helloapplication_launcher.build_artifacts.txt
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] ========================================================================================================================
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Finished generating 'test.demo.helloapplication_launcher' in 59,6s.
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Finished generating 'test.demo.helloapplication_launcher' in 59,6s.
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Finished generating 'test.demo.helloapplication_launcher' in 59,6s.
[Fr. Mai 24 21:54:10 MESZ 2024][INFORMATION] [SUB] Finished generating 'test.demo.helloapplication_launcher' in 59,6s.
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Microsoft (R) Incremental Linker Version 14.40.33808.0
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Microsoft (R) Incremental Linker Version 14.40.33808.0
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Microsoft (R) Incremental Linker Version 14.40.33808.0
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Microsoft (R) Incremental Linker Version 14.40.33808.0
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Copyright (C) Microsoft Corporation.  All rights reserved.
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Copyright (C) Microsoft Corporation.  All rights reserved.
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Copyright (C) Microsoft Corporation.  All rights reserved.
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB] Copyright (C) Microsoft Corporation.  All rights reserved.
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]    Creating library C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.lib and object C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.exp
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]    Creating library C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.lib and object C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.exp
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]    Creating library C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.lib and object C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.exp
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] [SUB]    Creating library C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.lib and object C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\demo.exp

> Task :nativeLink
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] ==================== LINK TASK ====================
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] ==================== LINK TASK ====================
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] ==================== LINK TASK ====================
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] ==================== LINK TASK ====================
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] Default icon.ico image generated in C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gensrc\windows\assets.
Consider copying it to C:\ProgrammeDev\TestProjects\demo\src\windows before performing any modification
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] Default icon.ico image generated in C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gensrc\windows\assets.
Consider copying it to C:\ProgrammeDev\TestProjects\demo\src\windows before performing any modification
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] Default icon.ico image generated in C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gensrc\windows\assets.
Consider copying it to C:\ProgrammeDev\TestProjects\demo\src\windows before performing any modification
[Fr. Mai 24 21:54:11 MESZ 2024][INFORMATION] Default icon.ico image generated in C:\ProgrammeDev\TestProjects\demo\build\gluonfx\x86_64-windows\gensrc\windows\assets.
Consider copying it to C:\ProgrammeDev\TestProjects\demo\src\windows before performing any modification

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 1m 4s
4 actionable tasks: 3 executed, 1 up-to-date

I know that one can get rid of the launcher and using modules everything works. However this is just a minimal example for a larger project which uses a lot of external libiraries that are not written in a modular style, and with the launcher one can deal with this issue.


Solution

  • Just putting José Pereda's comment into an answer:

    The launcher class uses reflection to call the application class constructor. Therefore you just need to add the class to the reflection list, in your build gradle file: [...]

    Groovy DSL:

    gluonfx {
        reflectionList = ["test.demo.HelloApplication"]
    }
    

    Kotlin DSL:

    gluonfx {
        reflectionList = listOf("test.demo.HelloApplication")
    }
    

    See Reflection in Native Image, Gluon Documentation, and gluonfx-gradle-plugin for more information.