当前位置: 首页 > 知识库问答 >
问题:

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

赵才俊
2023-03-14

我有一个通过Gradle构建的Spring启动项目,最近看到了一些加特林测试的添加。Gatlings的东西需要Scala的支持,它们都在src/test/Scala中。build.gradle文件获得了一个新的testCompile依赖项来支持它,从gradle的角度来看,一切都很好...

Build.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/scalaplugin.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错误吗?

共有1个答案

罗星洲
2023-03-14

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

我通过将依赖关系设置为compileonly而不是compile来“修复”它,这个范围不包括最终发行版中的JAR。

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

    compileOnly("io.gatling.highcharts:gatling-charts-highcharts:$gatlingVersion")
 类似资料:
  • 我有一个琐碎的分级项目: 在中有一个Groovy源文件: 如何为Gradle配置Groovy类路径? Groovy位于

  • 我尝试执行一个jar xuggle-xuggler.jar,但出现以下错误(我在jar目录中使用java-jar命令执行): 清单-版本:1.0 Ant-版本:Apache Ant 1.8.2 创建人:1.6.0_23-B23(Sun Microsystems Inc.) 实施-供应商:www.xuggle.com 实施-标题:xuggle-xuggler 实施-版本:5.4.0 主类:com.x

  • 问题内容: 我知道有很多类似或相同的问题,但是我仍然无法理解/找到正确的方法来使用模块。Python是我最喜欢的语言,除使用导入外,我喜欢其中的所有内容:递归导入(当您尝试引用尚不存在的名称时),导入路径等。 因此,我有这种项目结构: 可以用作独立单位,但也应由导入。我现在在做什么,例如,在我编写中,即使用导入模块的完整路径。我这样做是因为,如果我使用-当从另一个包()中导入该模块时,它将不起作用

  • 我想使用bazel命令生成tensorflow lite AAR文件。根据tensorflow文档Android quick start,我成功安装了bazel,然后在系统环境变量中设置了ANDROID_SDK_HOME和ANDROID_NDK_HOME如下: ANDROID_SDK_HOME='G:\IT\AndroidStudiosDK\AndroidStudio' ANDROID_NDK_H

  • 问题内容: 好吧,我很困惑。我的SQL Server JAR在这里: 我的类路径已设置: 它是JDBC 4.0驱动程序,因此我不需要这样做,但是我尝试设置类名。 我仍然执行我的程序,但出现错误: 万一有问题,我正在运行Windows 8.1。我已经尝试过以管理员身份或不以管理员身份使用命令提示符。 Java信息: 有任何想法吗? SQL Server是SQL Server Express 2012

  • 我最近尝试导入一个现有的Gradle项目,使用启动窗口中的“Open project”选项和现有的build.Gradle文件自动设置该项目。 就在我这样做之后,IntelliJ中出现了一条错误消息,说: 看起来像这样,IntelliJ抱怨我没有将play框架添加到我的PATH变量中。尽管外壳的输出告诉了某事物。其他: 我还编写了一个简单的类来显示IntelliJ使用的PATH变量: 当我运行这个