我们最近从 Kotlin 1.1.51 升级到 1.2.10,清除了所有警告(我们使用 -Werror 将警告视为错误),并且项目已启动并运行。我们使用 mvn verify
从命令行构建它,没有出现任何问题,以及使用 Build > Build project
从 IntelliJ 构建它。
然后,我们决定升级到最新版本 (1.2.21),在这里我们看到了一些问题:从命令行 (mvn verify
) 编译项目时,显示警告up导致编译失败:
[WARNING] Classpath entry points to a non-existent location: /Users/username/git/projectname/target/classes
有趣的是,如果我们在 IntelliJ 上执行 Build > Build Project
,那么就不会出现警告,并且项目将编译(并运行)而不会出现问题。如果我们在 pom 文件上将 Kotlin 的版本降级到 1.2.10(而不是 1.2.21),它会再次从命令行和 IntelliJ Build 成功构建。
我们注意到,当我们执行“Build”>“Build Project”时,会在目标文件夹中创建两个目录:classes 和 test-class;而当命令行构建失败时,有两个不同的目录:kotlin-ic和maven-status。
我看到了似乎相关的问题( 1 、 2 或 3 ),但它们的错误/警告似乎特定于某些库,而在这种情况下,它看起来更通用(它不是特定的库)我可以按照答案的建议添加为依赖项)。
为什么命令行和 IntelliJ 构建之间存在差异?是什么原因导致该警告,我们如何解决它?
最佳答案
我遇到了类似的问题,我通过禁用 kotlin 增量编译器使其工作:)。
<kotlin.compiler.incremental>false</kotlin.compiler.incremental>
关于maven - 使用 Maven 编译时,类路径条目指向不存在的位置警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48544667/