在intellij中设置gradle task / runco​​nfig的classpath

时间:2017-01-25 20:34:14

标签: intellij-idea gradle

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

在Eclipse中,我只需将env特定路径添加到run-config并将配置保存为:
'试验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运行配置我甚至没有选择添加模块类路径。

运行/调试配置窗口没有:
'使用mod的类路径...'
部分。

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

..如果有人能告诉我如何让应用程序运行配置特定的类路径设置更好。 (请告诉我,我错过了关于Intellij的内容。)

1 个答案:

答案 0 :(得分:3)

基于相当多的研究和反复试验,这里的解决方案适用于我的基于Kotlin的Spring Boot项目。

<强>背景

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

enter image description here

My 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。