beryx / badass-runtime-plugin

Create a custom runtime image of your non-modular application
https://badass-runtime-plugin.beryx.org
Apache License 2.0
162 stars 21 forks source link

JavaFX error after installing the .msi created with jpackage #58

Closed Ghakizu closed 4 years ago

Ghakizu commented 4 years ago

Hi

I'm using this plugin for one of my first project in Java and it worked fine except I have a problem with JavaFX I got this message when I try to run my program : Error: JavaFX runtime components are missing, and are required to run this application Here is my build.gradle. I was inspired by the build.gradle from the helloFX example :

/*
 * This file was generated by the Gradle 'init' task.
 */

plugins {
    id 'application'
    id 'org.openjfx.javafxplugin' version '0.0.8'
    id 'org.beryx.runtime' version '1.9.1'
}

repositories {
    mavenCentral()
}

ext {
    openJfxVersion = '14'
}

dependencies {
    implementation 'org.openjfx:javafx-controls:14'
    implementation 'org.apache.pdfbox:pdfbox:2.0.19'
}

javafx {
    version = "14"
    modules = ['javafx.controls']
}

application {
    mainClassName = 'org.openjfx.App'
    applicationName = 'PdfEncryptor'
}

runtime {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    jpackage {
        if(org.gradle.internal.os.OperatingSystem.current().windows) {
            installerType = 'msi'
            imageOptions = ['--win-console']
            installerOptions = ['--win-per-user-install',
                                '--win-dir-chooser',
                                '--win-menu',
                                '--win-shortcut']
        }
    }
}

As it is my first time using this plugin and gradle maybe I'm doing something wrong Could I get some help with this problem? It is a non modular application and I'm using Gradle 6.5, OpenJDK 14 and JavaFX 14 EDIT : I'm also using Intellij as an IDE

Ghakizu commented 4 years ago

I just forgot to create a Launcher class Sorry to have bothered you