我有项目,其中包含基于maven的混合kotlin和java代码。如果我通过maven(从命令行)编译该项目,那就没关系
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.830 s
[INFO] Finished at: 2017-05-19T07:42:55+01:00
[INFO] Final Memory: 44M/482M
[INFO] ------------------------------------------------------------------------
爪哇:
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
点子:
IntelliJ IDEA 2017.1.3
Build #IU-171.4424.56, built on May 12, 2017
JRE: 1.8.0_112-release-736-b21 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.3
的Maven:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: /Library/apache-maven-3.3.9/apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre
Default locale: cs_CZ, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.3", arch: "x86_64", family: "mac"
Maven配置:
<project>
..
<properties>
<kotlin.version>1.1.2-2</kotlin.version>
</properties>
..
<dependencies>
..
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jre8</artifactId>
<version>${kotlin.version}</version>
</dependency>
..
</dependencies>
<build>
<plugins>
..
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<configuration>
<jvmTarget>1.8</jvmTarget>
<languageVersion>1.1</languageVersion>
<apiVersion>1.1</apiVersion>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<sourceDirs>
<source>src/main/java</source>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals>
<goal>test-compile</goal>
</goals>
<configuration>
<sourceDirs>
<source>src/test/java</source>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
..
<plugins>
</build>
</project>
问题在于,如果我在构思中构建此项目,则会出现以下错误以及与此相关的许多子错误:
Error:Kotlin: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
class kotlin.reflect.KDeclarationContainer, unresolved supertypes: kotlin.Any
class kotlin.reflect.KAnnotatedElement, unresolved supertypes: kotlin.Any
class kotlin.reflect.KClassifier, unresolved supertypes: kotlin.Any
请您知道如何在IntelliJ Idea中使用它吗?
答案 0 :(得分:1)
有时事情会在.idea
和/或*.iml
文件下的项目设置中设置,最简单的方法是从头开始启动IntelliJ IDEA项目。
如果您的项目受源代码管理(例如使用git-scm),那么您只需删除本地克隆,再次克隆它,然后重新创建项目。
如果您不能这样做,那么您可以手动删除.idea
文件夹和任何*.iml
文件。请注意,IML文件可能位于项目的根目录和子目录中。您需要在项目未在IntelliJ IDEA中打开时删除这些项目,否则当您关闭项目时,它可能会将其中一些文件写回文件系统。
重新创建项目通常是最后的手段,但有时候当项目工作正常并且您无法弄清楚原因时,这是最简单的事情。