IntelliJ“无法推断 Scala 类路径...”但 Gradle testCompile 是正确的?

问题描述 投票:0回答:2

我通过 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 的错误吗?

scala intellij-idea gradle
2个回答
1
投票

我也遇到了这个问题(必须从 IntelliJ 手动设置依赖项)。

我通过将依赖项设置为

compileOnly
(而不是
compile
)来“修复”它,此范围不包括最终发行版中的 JAR。

我使用的代码是(请注意,我的依赖项包括 Scala 作为传递依赖项):

    compileOnly("io.gatling.highcharts:gatling-charts-highcharts:$gatlingVersion")

0
投票

您需要专门将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(如果尚未添加)。

© www.soinside.com 2019 - 2024. All rights reserved.