我通过 Gradle 构建了一个 Spring Boot 项目,最近添加了一些加特林测试。 Gattings 的东西需要 Scala 支持,都在 src/test/scala 中。 build.gradle 文件获得了一个新的 testCompile 依赖项来支持它,从 gradle 的角度来看,一切都很好......
构建.gradle
apply plugin: 'scala'
...
dependencies {
...
testCompile "org.scala-lang:scala-library:2.11.1"
testCompile "io.gatling.highcharts:gatling-charts-highcharts:2.2.5"
...
}
gradle 文档表明 testCompile 就是我们所需要的:https://docs.gradle.org/current/userguide/scala_plugin.html
IntelliJ 对这种配置坚持不满意
Warning:<i><b>root project 'tenderfoot': Unable to build Scala project configuration</b>
Details: org.gradle.api.GradleException: Cannot infer Scala class path because no Scala library Jar was found. Does root project 'tenderfoot' declare dependency to scala-library? Searched classpath: configuration ':compileClasspath'.</i>
如果我将依赖项从
testCompile
提升到 compile
,intellij 警告就会消失,但现在我的 spring boot uber jar 东西不必要地臃肿。
出路在哪里? 我如何让 IntelliJ 停止对此发出警告?
这实际上是 IntelliJ 的错误吗?
我也遇到了这个问题(必须从 IntelliJ 手动设置依赖项)。
我通过将依赖项设置为
compileOnly
(而不是 compile
)来“修复”它,此范围不包括最终发行版中的 JAR。
我使用的代码是(请注意,我的依赖项包括 Scala 作为传递依赖项):
compileOnly("io.gatling.highcharts:gatling-charts-highcharts:$gatlingVersion")
您需要专门将Scala SDK添加到项目中。另外,我必须使缓存无效并重建项目。 1. 转到“文件”>“项目结构”(或按 Ctrl+Alt+Shift+S)。 2. 在“项目结构”窗口中,选择左侧面板上的“项目”。 3. 在“项目 SDK”下,确保选择了有效的 JDK。 4. 接下来,选择全局库(如果使用多模块项目,则选择模块)。 5. 单击+图标添加新的全局库,然后选择Scala SDK。 6. IntelliJ 应自动下载并配置 Scala SDK。如果没有,如果本地安装了 Scala,则可能需要手动指定路径。 • 为模块设置Scala SDK: 1. 在“项目结构”窗口中,转到左侧面板上的“模块”。 2. 从列表中选择您的模块。 3. 转到“依赖项”选项卡。 4. 单击 + 并选择 Library > Scala SDK(如果尚未添加)。