2017-05-19 8 views
2

私はmavenに基づく混合kotlinとjavaコードを含むプロジェクトを持っています。私は(コマンドラインから)のmavenで、そのプロジェクトをコンパイルする場合、それは大丈夫ですIntellij Ideaはkotlinをコンパイルしませんが、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:

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> 

問題は、私はアイデアでこのプロジェクトをビルドする場合、私は次のようなエラーと、この1に関連する多くのサブエラーを取得することです:

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でも同様ですか?

+2

してくださいファイル|クイックファーストステップとしてキャッシュを無効にする。これは役に立ちます。 – yole

+0

ありがとうございますが、残念ながらこれはうまくいかず、まったく同じように動作します。 (私はキャッシュを無効にして再起動しようとしました) –

+0

次に試してみたいのは、Mavenプロジェクトを再インポートすることです(Maven Projectsツールウィンドウの "Reimport All Maven Projects")。 – yole

答えて

0

場合によっては、プロジェクト設定で.ideaおよび/または*.imlファイルに設定されることがあります。最も簡単なことは、IntelliJ IDEAプロジェクトを最初から開始することです。

プロジェクトがソース管理下にある場合(例:git-scmを使用している場合)、ローカルクローンを削除して再度クローンし、プロジェクトを再作成することができます。

これができない場合は、.ideaフォルダと*.imlファイルを手動で削除できます。 IMLファイルはプロジェクトのルートとサブディレクトリにあることに注意してください。プロジェクトを閉じるときに、これらのファイルのいくつかをファイルシステムに書き戻す可能性があるため、プロジェクトがIntelliJ IDEAで開いていないときにこれらを削除する必要があります。

通常、プロジェクトの再作成は最後の手段ですが、プロジェクトが正常に機能していない場合や、理由を把握できないときに行うのが最も簡単な方法です。

関連する問題