JavaFX : Gluon library with ANT or convert JavaFX-Ant project to JavafX-Gradle project

标签 java gradle javafx ant gluon

我有一个 JavafX 项目,我只想将其导出到 iPad。我发现 Gluon 框架可以为我做到这一点。不幸的是,我的 JavaFX 项目使用 Ant,而不是 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 值。

构建.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')
    }
}

最佳答案

解决方案是创建一个 Gradle 项目,并添加 Java/JavaFX 源。不需要 Ant,gradle 将为您管理一切。

为了让事情变得更容易,Gluon 有一个 plugin适用于主要 IDE(NetBeans、IntelliJ 和 Eclipse)。您只需要安装该插件,它将允许创建一个简单的 gradle 项目,其中包含添加您自己的源代码、构建它并将其部署在桌面、Android 和 iOS 设备上所需的所有内容。

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

为了做到这一点,您需要一些 prerequisites 。在您的情况下,最关键的是拥有一台 Mac 以便部署到 iPhone/iPad。剩下的就是所需的软件和少量配置。

请注意,使用 Gradle 您必须使用任务

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

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

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

关于JavaFX : Gluon library with ANT or convert JavaFX-Ant project to JavafX-Gradle project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342015/

相关文章:

java - 如何扩展PDF页面大小以添加水印?

android - Cordova 无法构建 Android

java - 如何修复 android studio 的所有/大多数依赖错误

Java FX : FileChooser and file extension

Javafx 修改 SwingUtilities.invokeLater 中的 "Label"

java - 如何关闭打开的图像,java/javafx

java - Eclipse 无法启动 chrome 驱动程序

java - 在 tabpane 中的选项卡之间切换

java - readTree Jackson无法解析

c++ - Gradle-Visual C++编译器,vcpkg和外部库