gradle - 如何从使用openJavaFx 11开发的Java应用程序构建(gradle).deb和.exe

标签 gradle exe deb openjfx openjdk-11

我正在使用开发Javafx应用程序,

  • gradle
  • OpenJdk11
  • OpenJfx11
  • sqlite(也存储在主程序包中,名为sqlite.db)

  • 现在我需要为Ubuntu安装安装.deb文件,并为窗口安装构建.exe文件。

    在这里build.gradle
    plugins {
        id 'org.openjfx.javafxplugin' version '0.0.8'
    }
    
    apply plugin: 'java'
    apply plugin: 'jacoco'
    apply plugin: 'application'
    apply plugin: 'war'
    
        group = 'dmhashan'
    
    mainClassName = 'dmhashan.payroll.AppStarter'
    
    repositories {
        jcenter()
        mavenCentral()
        mavenLocal()
    }
    
    dependencies {
        testImplementation 'junit:junit:4.13'
        implementation 'org.openjfx:javafx:14-ea+2'
        implementation 'com.1stleg:jnativehook:2.0.2'
        implementation 'net.java.dev.jna:jna:5.5.0'
        implementation 'net.java.dev.jna:jna-platform:5.5.0'
        implementation 'com.j256.ormlite:ormlite-core:5.1'
        implementation 'com.j256.ormlite:ormlite-jdbc:5.1'
        implementation 'org.xerial:sqlite-jdbc:3.23.1'
        providedCompile 'com.konghq:unirest-java:3.7.02'
        implementation 'com.konghq:unirest-object-mappers-gson:3.7.02'
    }
    
    javafx {
        version = "11.0.2"
        modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.graphics' ]
    }
    
    run() {
        jvmArgs = ['--add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED']
    }
    

    最佳答案

    仅使用Gradle,您只能构建可以在Windows和Linux上运行的可执行JAR。要将其 bundle 到exe或deb包中,您将需要一些Gradle插件。

    对于exe,您可以使用gradle-launch4j

    对于deb,您可以起诉gradle-ospackage-plugin。您可以找到here文档。

    关于gradle - 如何从使用openJavaFx 11开发的Java应用程序构建(gradle).deb和.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61320984/

    相关文章:

    linux - 从文件中获取字符串

    linux - 如何使用 qmake 将库文件构建到 DEB 包中而不是构建到我的系统中?

    linux - 从具有多个二进制文件的源文件创建 debian 包

    java - Android studio 签名算法不匹配

    java - 当我使用Gradle插件编译Java代码时,本地JDK为1.8,但我想将其编译为1.7版。

    android - Appcompat v7 未纳入项目

    Delphi:带有内置包的 .exe:600kb,.exe + 外部 BPL:6MB。这是为什么?

    java - Gradle,包含我的构建目录中的所有 json 文件

    visual-studio - 为什么 Visual Studio 2015 无法运行 exe 文件 (ucrtbased.dll)?

    delphi - 有没有办法只执行共享驱动器上的大 exe 单元中的代码?