gpt4 book ai didi

gradle - JavaFXPorts 项目作为其他 JavaFXPorts 项目的库

转载 作者:行者123 更新时间:2023-12-03 03:19:32 25 4
gpt4 key购买 nike

我目前正在努力解决可能非常简单的问题:如何将一个 JavaFXPorts 特定项目用作另一个同类项目中的依赖项?

对于纯粹分离的项目,我不知道如何将它们组合起来(不得不承认,我对 Gradle 的了解并不像我可能需要的那样是最新的......)。

我考虑过使用 apply plugin: 'maven'在本地 Maven 缓存中安装和抓取库。但是这样就不会分离平台特定的代码(所有东西——main、android、ios、desktop——都将合并到一个单独的 JAR 文件中。

也许如果我将问题简化为 main 的纯部分源代码树,我可以创建一个独立的纯 JavaFX 项目,这应该很容易......

或者我可以通过相对路径访问另一个项目。但无论出于何种原因,我有点不喜欢这个想法。

JavaFXPorts 的最佳实践是什么?我根本不会一遍又一遍地将一些东西复制到新项目中(显然)。

提前致谢,
丹尼尔

最佳答案

这是一个非常简单的示例,说明如何设置 Gradle 多项目,包含两个子项目:

  • Common : 一个常规的 JavaFX (gradle) 项目,具有可以在以后在其他项目中重用的通用代码。
  • GluonApplication : 一个简单的 Gluon Mobile 项目,它使用了通用的。

  • 我使用 NetBeans 创建 Gradle Root 项目并添加子项目,但也可以从其他 IDE 或命令行完成。

    1. Gradle 根项目

    创建一个 Gradle 根项目。设置项目名称(在本例中为 GradleProject)、位置、Maven 组 ID(在本例中为 com.gluonhq)和 Maven 版本(默认为 1.0-SNAPSHOT)。

    2. Gradle Common 子项目

    创建一个新的 Gradle 子项目。选择一个名称( Common ),并确保该项目的位置是 GradleProject文件夹。选择一个主类 ( com.gluonhq.common.Common)。

    添加一些代码:
    package com.gluonhq.common;

    public class Common {

    public static double sum(double a, double b) {
    return a + b;
    }
    }

    3. Gluon移动子项目

    为您的 IDE 添加一个带有 Gluon 插件的 Gluon Mobile 子项目。例如选择单 View 项目。选择一个名称( GluonApplication ),并再次确保该项目的位置是 GradleProject文件夹。选择包名 ( com.gluonhq.application ) 和主类 ( GluonApplication )。

    您可以从项目根目录中的命令行按原样运行此项目: gradle :GluonApplication:run ,或从您的 IDE(任务 -> 运行)。

    4. 包含一个公共(public)依赖

    编辑 build.gradle来自 Gluon Mobile 子项目的文件,并添加 Common 依赖项。

    由于两个子项目属于同一个根项目,您可以简单地执行以下操作:
    dependencies {
    compile 'com.gluonhq:charm:4.3.7'
    compile project(":Common")
    }

    保存并重新加载项目。现在在您的代码上,您可以调用 Common.sum :
    button.setOnAction(e -> label.setText("3 + 4: " + Common.sum(3, 4)));

    再次运行,看看它是否有效。您也可以部署到移动设备。



    5. 安装通用模块

    如果您打算重复使用 Common此项目或其他 Gluon Mobile 项目中的项目,您可以将其安装在您的 .m2 中存储库。

    在命令行上,从项目的根目录运行:
    gradle :Common:install

    你会看到项目安装在 <user>/.m2/repository/com/gluonhq/common/1.0-SNAPSHOT下,包括 common-1.0-SNAPSHOT.jar文件。

    6. 复用Common jar

    最后,您可以在任何项目中包含公共(public) jar。

    为此,请编辑 build.gradle来自 Gluon Mobile 子项目的文件,包括本地存储库,并添加 Common 依赖项。
    repositories {
    mavenLocal()
    jcenter()
    maven {
    url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
    }

    dependencies {
    compile 'com.gluonhq:charm:4.3.7'
    compile 'com.gluonhq:common:1.0-SNAPSHOT'
    }

    保存并重新加载项目。您的通用代码将可用。

    当然,这可以在您的机器上本地工作,但您也可以将工件发布到私有(private)或公共(public)仓库,然后您应该只在上面的列表中包含正确的仓库。

    关于gradle - JavaFXPorts 项目作为其他 JavaFXPorts 项目的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157900/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com