JavaFX:带有ANT的Gluon库或将JavaFX-Ant项目转换为JavafX-Gradle项目

时间:2016-02-11 14:28:28

标签: java gradle javafx ant gluon

我有一个JavafX项目,我想只为Ipad导出。我发现Gluon框架可以为我做到这一点。不幸的是,我使用的是JavaFX项目,而不是Gluon文档中显示的Gradle。

有什么方法可以将Gluon依赖项放在Ant任务中并生成IOS输出可执行文件?如果没有,那么是否可以将此项目转换为Gradle项目。

请注意我使用的是Ubuntu Linux。我不知道创建Ipad可执行文件需要什么。由于我以前没有处理过Mac系统,因此我对此的理解可能是错误的。

这是ant:

的build.xml
<?xml version="1.0" encoding="ASCII"?>
<anttasks:AntTask xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:anttasks="http://org.eclipse.fx.ide.jdt/1.0" buildDirectory="${project}/build" cssToBin="true">
  <deploy packagingFormat="exe">
    <application name="Test" mainclass="application.Main" version="1.0"/>
    <info title="Frontend" vendor="NAME"/>
  </deploy>
  <signjar/>
</anttasks:AntTask>

这就是我在整个项目中所拥有的,其他只是我自己创建的Java文件。你能帮忙的话,我会很高兴。谢谢。

更新

根据收到的答案,我创建了一个Gradle项目并将文件移到那里。之后我从here添加了Gluon的库,但我一直收到这个错误:

Error:(14, 0) Build script error, unsupported Gradle DSL method found: 'androidRuntime()'!

Possible causes could be:  
  - you are using Gradle version where the method is absent (<a href="open_gradle_settings">Fix Gradle settings</a>)
  - you didn't apply Gradle plugin which provides the method (<a href="apply_gradle_plugin">Apply Gradle plugin</a>)
  - or there is a mistake in a build script (<a href="goto_source">Goto source</a>)

enter image description here

更新-2

所以,我最终做的是为Intellij Idea安装Gluon插件,然后创建了一个Gluon项目。正如网页上所建议的,我已经添加了ANDROID_HOME参数和目录指向Linux的android-sdk。不过,当我打电话运行程序时,我不断收到错误:

Error:Android Source Generator: [GluonBasicProject] Android SDK is not specified

我的gradle.properties看起来像这样:

gradlePropertiesProp=gradlePropertiesValue
systemProjectProp=shouldBeOverWrittenBySystemProp
envProjectProp=shouldBeOverWrittenByEnvProp
systemProp.system=systemValue
ANDROID_HOME=/home/akshay/Downloads/android-sdk-linux

请注意,在创建这个项目时,我选择了默认的gradle-wrapper,我在系统上找到了4个gradle发行版,所以我更新了所有这四个中的ANDROId_HOME值。

build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b10'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
}

mainClassName = 'com.gluonapplication.GluonApplication'

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
    }
}

1 个答案:

答案 0 :(得分:2)

解决方案是创建Gradle项目,并添加Java / JavaFX源。 Ant不会被要求,gradle会为你管理一切。

为了简化操作,Gluon对主要IDE(NetBeans,IntelliJ和Eclipse)有plugin。您只需要安装该插件,它就可以创建一个简单的gradle项目,其中包含您添加自己的源并构建它并将其部署在桌面,Android和iOS设备上所需的所有内容。

您可以在Gluon的网站上找到一些关于安装插件和从头开始创建项目的帖子:

为了做到这一点,你需要一些prerequisites。在你的情况下最关键的是拥有一台Mac以便部署到iPhone / iPad。其余的是需要软件和次要配置。

请注意,使用Gradle时,您必须使用Tasks

您可以从命令行(以及IDE)运行所需的任务:

./gradlew clean build
./gradlew run
./gradlew androidInstall
./gradlew launchIOSDevice
...

请注意,要部署到iOS,您需要在构建脚本上使用一些settings。另请阅读有关Apple免费配置的this