我使用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的内容。)
答案 0 :(得分:3)
基于相当多的研究和反复试验,这里的解决方案适用于我的基于Kotlin的Spring Boot项目。
<强>背景强>
我的Spring Boot项目运行配置被配置为使用Run Gradle任务代替标准IDEA构建作为其Before启动配置(参见下面的屏幕截图)。
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。