【问题标题】:setting classpath for gradle task / runconfig in intellij在 intellij 中为 gradle task / runco​​nfig 设置类路径
【发布时间】:2017-01-25 20:34:14
【问题描述】:

我正在使用 Gradle 插件在 Intellij 14.1.2 中运行单元测试。我在一组目录(每个环境的目录)中具有特定于环境的外部配置和测试数据。我想通过类路径加载配置和数据。

在 Eclipse 中,我只需将 env 特定路径添加到运行配置并将配置保存为:
'Test-XYZ-UAT1'
例如。

在 intellij 中,我的应用程序配置类路径似乎与我的“模块”类路径相关联: https://www.jetbrains.com/help/idea/2016.3/run-debug-configuration-application.html how to add directory to classpath in an application run profile in intellij idea?

.. 这已经够糟糕了,但是对于 Gradle 运行配置,我什至没有添加模块类路径的选项。

运行/调试配置窗口没有:
'Use classpath of mod...'
部分。

问题:
在 Intellij 中运行 Gradle 任务时,如何设置运行配置的类路径?

..如果有人能告诉我如何让应用程序运行配置特定的类路径设置会更好。 (请告诉我,我缺少关于 Intellij 的一些独创性......)

【问题讨论】:

    标签: intellij-idea gradle


    【解决方案1】:

    经过大量研究和反复试验,这是适用于我基于 Kotlin 的 Spring Boot 项目的解决方案。

    背景:

    我的 Spring Boot 项目运行配置被配置为使用 Run Gradle 任务代替标准 IDEA 构建作为其启动前配置(参见下面的屏幕截图)。

    我的 Spring Boot 项目将 src/main/resources/application.properties 用于 JPA 和日志记录属性。

    gradle build 使用以下输出目录进行构建。这些是 Kotlin 项目的默认 gradle 构建输出目录。

    • build/classes/kotlin/main 用于主类文件。
    • build/classes/kotlin/test 用于测试类文件。
    • build/resources/main 用于主要资源文件。这是在构建期间复制 application.properties 的位置。

    当我尝试使用上面的运行配置在 IDEA 中运行这个项目时,它会在 Spring Boot 启动期间失败,因为它在类路径中找不到 application.properties。当我检查应用程序启动期间使用的类路径时,build/resources/main 丢失了。

    我的解决方案

    使用来自:Gradle Goodness: Delegate Build And Run Actions To Gradle In IntelliJ IDEA 的信息将 IDEA 构建和执行委托给 Gradle。

    当 IDEA 配置为将构建和执行委托给 Gradle 时,主模块和测试模块应配置如下:在 Paths 选项卡上,选择 Inherit project compile output path。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多