- Contents -
僕が一番おススメしている、IDEが、
Intellij IDEAなんですが、
最初のセットアップで躓く方が案外多くて、
折角の価値に気付いてもらえない事がとても悲しく思います。
今なら、大半のプロジェクトではGradleを利用しているかと思いますが、
./gradlew idea とするだけで、セットアップは終わるよ!
という状況にも関わらず、IDEAにインポートするところでうまくいかない。
なので、最初に躓きやすいポイントと、
ProjectStructure という設定項目について記載しておこうと思います。
追記
最近のIDEAは、Directory base形式のフォーマットを推奨しているため、
./gradlew idea
を叩く必要はありません。
追加記事: ./grdlew idea 叩かなくていいよ。
ProjectStructureとは
ざっくりいうと
プロジェクト設定です。
File > ProjectStructure から開くことができます。
command + ; で開くこともできる。
ただ、個々のプロジェクトだけではなく、JDKや、他の依存フレームワークなどのライブラリ設定など。
IDEA自体の全体設定も担っているので、
あ、ここで設定するんだー
という感じで面食らいます。
よくあるつまずきポイント
コンパイルできない
Cannot start compiler:
などのエラーが発生する。
JAVA_HOMEを認識しない
javaはインストールされているんだけど、
JAVA_HOMEが認識できない
The newly created daemon proces> s has a different context than expected.
Java home is different> .
Expecting: '/Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home' but was: '/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home'.
Please configure the JDK to match the expected one.
Open JDK Settings
Javaファイルとかを認識してくれない
プロジェクトを読み込んだんだけど、
javaファイルを正しく認識していない
構文エラーだらけになる
Gradleを認識しない
Gradle SDKが存在しないと言われる。
JDKがインストールされている事
JDKインストールされている事
IDEAをインストールしてもJDKは、別途Oracleからインストールする必要があります。
インストールされているJDKのPathは、java_homeコマンドを使えば、一覧取得する事ができます。
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
1.8.0_65, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
1.8.0_11, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
bashrcや、zshrcなどで、JAVA_HOME環境変数を設定していない場合は、一番上位に表示されているJDKが利用される事になります。
$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
不要なJDKについては、*.jdkディレクトリから、削除することでアンインストールする事ができます。
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk
利用したいJDKが正しくインストールされている事を確認しましょう。
ProjectStructure を確認しよう
これらの問題は、ProjectStructureで大体解決出来る問題です。
SDKsの設定が正しい事
ProjectStructure > Platform Settings > SDKs
ここにIDEAが認識している、JDKなど、Ruby, Pythonなど色々なSDKのPATHが一括管理されています。
もし、ここに1.8 や9.0など、JDKの項目がなければ、IDEAがJDKを認識していない状況となっています。
+ボタンを押して、JDKから、JavaHomeのディレクトリを選択して追加しましょう。
また、項目はあるが、pathが間違っている場合もあります。
一度削除して、追加するなどで正しいpathになっているか確認しましょう。
設定例
Name: 1.8
JavaHome: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Project SDKが正しい事
ProjectStructure > Project Settings > Project
Project SDKに、先程設定したJDKが選択されている事。
Gradleが…
JavaHome が…
とか色々、エラーが出ますが、
大体ここまでの設定ができていない事が大半です。
ここまでが間違っていると、以降の処理が全てうまくいかなくなります。
Gradle同期をしよう
Gradleプロジェクトを正しく認識していない時は、Gradle Syncボタンを押してbuild.gradleと設定を同期しましょう。
左下のサイドバー表示ボタンを押すと出てきます。
そもそも、Gradle Toolバーがないよ
という時は、JDKを認識してない事が多いです。
上述のJDK,SDKs,ProjectSDKをチェックしてみましょう。
~/.gradleを削除してみよう
最後に、Gradle Syncボタンを押すけど、エラーが発生する場合も極たまにあります。
その場合、gradleでインストールしたライブラリが壊れている可能性があるので、
ホームディレクトリにある .gradle ディレクトリを削除してみましょう。
rm -rf ~/.gradle
削除後は再度、GradleSyncボタンを押すか、、再度インポートすると良いでしょう。./gradlew idea
を叩いて