IntellijでJavaのプロジェクトを作成したときに、戸惑った部分があるので書き残しておきます。
環境
環境構築
JavaやGradleのインストールについては下記を参考にしました。
プロジェクト作成
Create New Project をクリックします。
今回はGradleを選びました。SDKが設定されていない場合は手動で設定してください。
GroovyやKotlinなどはお好みで選択してください。
IDを適当に付けます。
Use default gradle wrapper を選択、JVMを設定します。
その他はお好みで選択してください。
グループ名を適当に付けて「Finish」ボタンをクリックします。
プロジェクトが作成されます。
動作確認
/src/main/java/
に適当に「Hello.java」を作成します。
Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello Java!!");
}
}
ですが、Hello.javaを実行するとビルドが通らず下記エラーが出てしまいます。
Error:Internal error: (java.lang.NullPointerException) null
java.lang.NullPointerException
at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:156)
at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:96)
at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:42)
at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:50)
at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:79)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:280)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:138)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:235)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
どうやら参照するbuild.gradle
が正しくないようです。
左上の「×」を押してプロジェクトを一旦閉じます。
最初の画面で今度はOpenをクリックします。
/Users/{自分のユーザー名}/IdeaProjects/{作成したプロジェクト}
配下にある、build.gradle
を選択します。
ダイアログで「Open as Project」 を選択します。
ここの設定はそのままで問題ないです。
上書きするので「Yes」をクリックします。
新しく作成したほうを使いたいので「Delete」をクリックします。
新しく作成されたプロジェクトでHello.java
を再度実行すると、正常に通るはずです。
実行結果
Hello Java!!
Process finished with exit code 0
Lombokを入れる場合
Settings -> Plugins -> Browse Repository
で「lombok」を検索すると出てくるのでinstallします。
インストールしただけではアノテーションが効かないので、Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors
で「Enable annotation processing」にチェックを入れます。
これで効くようになります。
エディタの設定
ファイル保存時にインデント等のフォーマットを修正してくれるよう設定します。
git管理にした後、ファイルの変更がある状態で下記の手順を実行します。
これで、とりあえず動くようになりました。
それでは素敵なJavaライフを!