当前位置: 首页 > 知识库问答 >
问题:

使用Gradle构建的模块化Java(JavaFX)项目运行Eclipse JUnit测试,这些项目也可以使用Jlink生成可执行图像

柴博
2023-03-14

我一直在努力寻找一种干净的方法来处理gradle构建的模块化JavaFX项目(使用JDK11),它可以生成漂亮的可部署jlink图像,同时仍然能够在Eclipse IDE中执行JUnit测试。我有:

  • 在src/main/java文件夹中,我的包中有一个JavaFX应用程序,与必要的信息模块一起。java文件
  • JUnit在src/test/java文件夹中的相应包中进行测试,该文件夹显然不包含信息模块。java,因为Eclipse不能容忍

有了这个配置,我可以很容易地在Eclipse中运行我的JavaFX应用程序(使用gradle -

在互联网上搜索解决方案后,我最终尝试了各种方法,比如在info-module.java文件中添加“要求jUnit”,摆弄构建路径配置以将JUnit4库添加到模块路径(每次我刷新gradle时,它显然会消失),以及尝试JUnit5。我发现根本没有令人满意的东西。Gradle(或者可能是Eclipse插件)应该有一个简洁的解决方案吗?这里有一个万能的解决方案吗?

共有1个答案

何兴邦
2023-03-14

摆弄了一下,我的解决方案是:

>

  • 要允许JUnit测试工作:

    一个。注释掉模块信息.java文件中的所有内容 - 这会暂时产生一个非模块化项目。

    注释掉build.gradle中的eclipse{…}插件命令-这会暂时中断eclipse模块化行为和jlink任务。

    c.刷新格雷迪。

    然后,您可以运行 JUnit 测试,并继续处理您的项目,只要您不需要模块化或 jlink 任务。

    要恢复图像构建的模块化和jlink任务:

    取消注释(恢复)module-info.java文件的内容。

    b.取消注释(恢复)构建.gradle 中的日食 {} 插件命令。

    c.刷新格雷迪。

    这并不太痛苦,只要在执行JUnit测试时在没有模块化的情况下工作是可行的。但是,如果有办法避免所有这些麻烦,请告诉我 - 也许有一个Gradle(或Eclipse插件)解决方案?

  •  类似资料:
    • 主要内容:1- 介绍,2- 示例模型,3-创建项目数学库,4- 创建另一个项目:MathWebApp,5- 创建GradleMain项目,6- 构建项目,7- 运行MathWebApp1- 介绍 本教程文章基于: Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1) 如果您是初学者Gradle的。那么建议先看看初学者Gradle(Gradle Hello world)的文章: http://www.yiib

    • 当我想将所有项目构建到一个可运行的jar中时,我的问题就出现了。Jar的构建没有错误,所有的Java类都能工作,只有JAVAFX类不能。我不明白如何将一个带有外部JAVAFX类和依赖项的Java项目构建到一个jar中,以便一切都能正常工作。有什么建议吗?我试了很多都没有结果... 如果您需要一些代码或一些关于项目设置的信息,我会很乐意编写它们。谢谢你的忠告。 我也尝试了Maven:

    • 我从github克隆了一个Spring boot项目,并在IntelliJ中打开了它。所以我正在尝试运行build.gradle,但我只得到了这个错误:

    • 我正在创建一个新项目(使用IntelliJ IDEA),该项目将使用: 分级作为构建系统 构建脚本的Kotlin DSL “组织”的Java 9模块 科特林语作为主要语言 我有问题设置Gradle正确地建立我的项目。我找到的大多数示例都是针对Groovy而不是Kotlin DSL的,而且大多数示例只覆盖了我想要的一些特性,而不是全部。 lib/build.gradle.kts 执行此操作时,配置将

    • 我在Android Studio中构建项目时遇到了一个问题,几周前它还能正常工作,但当我今天试图运行该项目时,它失败了。下面是我得到的错误消息: org.Gradle.tooling.gradleConnectionException:无法使用分级发行版“http://services.Gradle.org/distributions/gradle-1.7-bin.zip”执行生成。:无法使用分级

    • 我尝试使用gradle构建工具构建一个简单的android应用程序。但是我得到了这样的错误 方法无签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(java.lang.String)值:[org.gradle.api.plugins: gradle and