使用 Maven 编译时,类路径条目指向不存在的位置警告

Alv*_*oro 5 intellij-idea maven kotlin

我们最近从 Kotlin 1.1.51 升级到 1.2.10,清除了所有警告(我们使用 -Werror 将警告视为错误),并且项目已启动并运行。我们从命令行使用构建它mvn verify没有问题,以及使用 IntelliJ 构建它Build > Build project

然后,我们决定升级到最新版本(1.2.21),在这里我们看到了一些问题:从命令行(mvn verify)编译项目时出现警告,导致编译失败:

[警告] 类路径条目指向不存在的位置:/Users/username/git/projectname/target/classes

在此输入图像描述

有趣的是,如果我们Build > Build Project在 IntelliJ 上执行此操作,则不会出现任何警告,并且该项目将毫无问题地编译(和运行)。如果我们在 pom 文件上将 Kotlin 的版本降级到 1.2.10(而不是 1.2.21),它会再次从命令行和 IntelliJ Build 成功构建。

我们注意到,当我们执行“Build”>“Build Project”时,会在目标文件夹中创建两个目录:classes 和 test-class;而当命令行构建失败时,有两个不同的目录:kotlin-ic和maven-status。

我看到了似乎相关的问题(123),但它们的错误/警告似乎特定于某些库,而在这种情况下,它看起来像是更通用的东西(它不是我可以按照建议添加为依赖项的特定库关于答案)。

为什么命令行和 IntelliJ 构建之间存在这种差异?是什么原因导致该警告,我们如何解决它?

小智 5

我遇到了类似的问题,我通过禁用 kotlin 增量编译器来解决它:)。

<kotlin.compiler.incremental>false</kotlin.compiler.incremental>
Run Code Online (Sandbox Code Playgroud)

  • @MBH 在 pom.xml 文件的属性部分中。 (2认同)