在使用Maven进行编译时,Classpath条目指向不存在的位置警告

时间:2018-01-31 14:34:47

标签: maven intellij-idea kotlin

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

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

  

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

enter image description here

有趣的是,如果我们在IntelliJ上执行Build > Build Project,那么就没有警告,项目将编译(并运行)而不会出现问题。如果我们将Kotlin的版本降级到pom文件(而不是1.2.21)的1.2.10,它将再次从命令行和IntelliJ Build成功构建。

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

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

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

2 个答案:

答案 0 :(得分:3)

我有类似的问题,我通过禁用kotlin增量编译器来实现它:)。

<img src={this.state.imgAvatar}/>

答案 1 :(得分:0)

对于未来的读者:如果您遇到相反的问题(从命令行构建有效,但在 IntelliJ 中构建失败):

  • 在 IntelliJ 中,转到项目设置 -> 库
  • 删除所有条目
  • 重建项目