用inno-script-studio建立javafx-gradle-plugin?

时间:2017-07-16 12:25:40

标签: java mysql gradle javafx javafx-2

我正在使用gradle开发javafx项目,但似乎没有关于如何为这种javafx应用程序创建设置的良好文档或网站或视频,我的意思是我发现了很多ANTMAVEN周围的样本,但

我无法在gradle中找到一些好的做法, 之后我下载inno-script-studio但我不知道该怎么做,至少创建一个jar文件或可执行文件来进行设置。 这是我用于javafx-gradle javafx-gradle-plugin的插件,它在描述中说:

  

(Windows)EXE安装程序:Inno Setup

但我不知道该怎么做

这是我的build.gradle

buildscript {
    dependencies {
        classpath group: 'de.dynamicfiles.projects.gradle.plugins', name: 'javafx-gradle-plugin', version: '8.8.2'

    }
    repositories {

        mavenLocal()
        mavenCentral()

    }
}
apply plugin: 'application'
apply plugin: 'java'
if (!hasProperty('mainClass')) {
    ext.mainClass = "Main.Launcher"
}
repositories {
    mavenLocal()
    mavenCentral()
}
dependencies{
    testCompile group: 'junit', name: 'junit', version: '4.10'
    compile "io.reactivex.rxjava2:rxjava:2.1.0"
    // https://mvnrepository.com/artifact/com.jfoenix/jfoenix
    compile group: 'com.jfoenix', name: 'jfoenix', version: '1.6.0'
    // https://mvnrepository.com/artifact/org.hibernate/hibernate-gradle-plugin
    compile group: 'org.hibernate', name: 'hibernate-gradle-plugin', version: '5.2.10.Final'
    // https://mvnrepository.com/artifact/org.hibernate/hibernate-core
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.10.Final'
    // https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations
    compile group: 'org.hibernate', name: 'hibernate-annotations', version: '3.5.6-Final'
    // https://mvnrepository.com/artifact/mysql/mysql-connector-java
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'
    // https://mvnrepository.com/artifact/log4j/log4j
    compile group: 'log4j', name: 'log4j', version: '1.2.17'
    // https://mvnrepository.com/artifact/de.jensd/fontawesomefx
    compile group: 'de.jensd', name: 'fontawesomefx', version: '8.9'
}
apply plugin: 'javafx-gradle-plugin'


jfx {
    appName = 'StudentManager'
    vendor = 'shaheen'
    // minimal requirement for jfxJar-task
    mainClass = "Main.Launcher"
}

任何提示,建议,样本都会很好,谢谢

1 个答案:

答案 0 :(得分:1)

javafx-maven-pluginjavafx-gradle-plugin共享相同的基础工具:javapackager(以前称为javafxpackager),因此所有限制都适用于这些构建工具插件。

创建本机安装程序时,必须使用安装程序脚本(InnoSetup的.iss-file,WiX的.wxs文件),因此为此处理了一些内部存储的预设: - 对于Inno设置:https://github.com/teamfx/openjfx-8u-dev-rt/blob/master/modules/fxpackager/src/main/resources/com/oracle/tools/packager/windows/template.iss - 对于WiX:https://github.com/teamfx/openjfx-8u-dev-rt/blob/master/modules/fxpackager/src/main/resources/com/oracle/tools/packager/windows/template.wxs

在复制某些文件和创建安装程序的过程中,会在这些模板中替换特殊字符串。要在运行build-tool插件时获取此文件,您必须在src/main/deploy/windows/{appname}.iss/.wxs存储一些iss / wxs文件,其中{appname}是项目指定的“appName”(在gradle上主要是根项目名称,在maven上默认为artifactId-version,但可以通过appName-configuration重写。这是有效的,因为在javapackager中使用了一种特殊的“直接替换”机制。

要准备/处理文件,您必须将verbose设置为true(使用gradle时在jfx-block内部以及使用maven时插件的配置内部),然后全部使用文件将保留在%TEMP% - 文件夹中。

如果还有其他需要,请对此进行评论,我会将其添加到答案中。

免责声明:我是javafx-maven-plugin的维护者和javafx-gradle-plugin的创建者。