是javafx-gradle插件安全使用?

时间:2016-01-30 05:47:40

标签: gradle javafx

我一直在查看https://bintray.com/shemnon/javafx-gradle/gradle-javafx-plugin/view

中的这个gradle插件

使用它的方法是

 apply from: 'http://dl.bintray.com/content/shemnon/javafx-gradle/8.1.1/javafx.plugin'

我的问题是这有多安全。它可能在下个月变得不可用,让我争先恐后寻找另一种解决方案吗?我找不到下载它并存储本地副本的方法。我误解了年级的工作原理吗?如果服务器出现故障怎么办?在备份之前我是否无法工作?

2 个答案:

答案 0 :(得分:2)

您正在寻找的插件已不再受支持,您可以在作者发布的此问题的最新评论中看到:

https://bitbucket.org/shemnon/javafx-gradle/issues/49/documentation-and-a-working-sample

我找到了以下项目并且它有点工作,需要对多个模块项目进行一些调整:

https://github.com/FibreFoX/javafx-gradle-plugin

这个人现在似乎对这个项目很活跃,缺乏文档是一个问题,但你仍然可以部署你的JavaFX项目,我尝试为Mac创建一个DMG包,你将不得不尝试与Windows相同的事情。

**更新** 根据作者的说法,FibreFox似乎不再活跃,但该项目并没有消失: "不,这个插件还没有死,但未来变得非常脆弱。" 更多细节: https://github.com/FibreFoX/javafx-gradle-plugin/issues/119

感谢@Some Guy在下面的评论部分。

答案 1 :(得分:0)

这不是我原来问题的答案,但最终我看到的插件是一种用gradle制作exe安装程序的方法。最后我坚持使用普通的gradle东西并在build.gradle中使用它。也许这会让谷歌的其他人节省半天。

// create a single Jar with all dependencies
task fatJar(type: Jar) {
    doFirst {
        from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    }
    exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
    manifest {
        attributes 'Implementation-Title': appName,
                'Implementation-Version': version,
                'Main-Class': mainClassName
    }
    baseName = project.name
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

// create a windows .exe installer
task buildPackage << {
    if (jdk != null && !jdk.isEmpty()) {
        def javapackager = exec {
            workingDir "${project.projectDir.absolutePath}"
            commandLine "${jdk}\\bin\\javapackager",
                    "-deploy",
                    "-title", appName,
                    "-native", "exe",
                    "-name", appName,
                    "-outdir", "${buildDir.name}${File.separator}dist",
                    "-outfile", appName,
                    "-srcdir", "${buildDir.name}${File.separator}libs",
                    "-appclass", mainClassName
        }
    }
}