我正在使用gradle
开发javafx项目,但似乎没有关于如何为这种javafx应用程序创建设置的良好文档或网站或视频,我的意思是我发现了很多ANT
和MAVEN
周围的样本,但
我无法在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"
}
任何提示,建议,样本都会很好,谢谢
答案 0 :(得分:1)
javafx-maven-plugin和javafx-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的创建者。