我发现了一个与Android相关的类似问题(链接),但是我使用的是纯Java和Maven构建工具。因此我认为最好还是新开一个问题。
我创建了一个Kotlin类,想要从Java类中引用它,使用MyKotlinClass.class
语法。但Maven构建失败,而在IntelliJ Idea编译正常。我已经将Kotlin插件添加到了Maven中:
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
然而,这并没有帮助到问题的解决:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project app: Compilation failure
[ERROR] MyClassLinkingKotlin.java:[100,40] error: cannot find symbol
行/列指的确切是符号MyKotlinClass.class
。即使像这样使用也会失败:
System.err.println(MyKotlinClass.class)
MyClassLinkingKotlin.java
文件中第 100 行的代码(我认为是[line,col])。 - ThrowingSpoon