ジャンボモナカ

34歳のハゲデブがHTML5ハイブリッドアプリ開発プラットフォームmonacaを始めました。

Spring Tools 4 for Eclipseで既存のmavenプロジェクトをインポートする方法

f:id:maipontan:20200502133153p:plain

Spring Tools 4 for Eclipseで、一度、新規に作成したmavenプロジェクト(spring bootプロジェクト)を再度プロジェクトとして開きたい場合、どうすればいいのだろうか?

File → Import → Maven → Existing Maven Projectsの順で選択してNextボタンをクリックすればOK

f:id:maipontan:20200507132113p:plain

The serializable class does not declare a static final serialVersionUID field of type long XXX.java XXXXという警告

f:id:maipontan:20200505121424p:plain

HashMap型の変数宣言をしたところ警告が表示された。

HashMap<String, List<String>> foo = new HashMap<String, List<String>>() {
    {
        put("hoge", Arrays.asList("bar"));
    }
};

The serializable class does not declare a static final serialVersionUID field of type long XXX.java XXXXという警告なのだが解消方法がわからない。

なぜserialVersionUIDが必要なのか理由がわからないのだが、設定したら警告が解除された。

HashMap<String, List<String>> foo = new HashMap<String, List<String>>() {
    private static final long serialVersionUID = 1L;
    {
        put("hoge", Arrays.asList("bar"));
    }
};

参考

stackoverflow.com

Spring Tool Suite 4で突然エラーが発生

Spring Tool Suite 4でプログラムを組んでいたら突然、エラーが発生。

The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project XXX Unknown Java Problem The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files MavenWrapperDownloader.java /xxx/.mvn/wrapper line 1 Java Problem

という内容のエラーだった。

検索をかけてみてもわからなかったので、再度、Mavenプロジェクトとしてインポートしたら治りました。

f:id:maipontan:20200507132113p:plain

しかし、一体、どういった経緯で発生したのか、まるで思い出せない。

Spring Tool Suite 4でjarファイルを作成する

f:id:maipontan:20200505121424p:plain

Google App EngineJavaプログラムをdeployするには、jarファイルをアップロードする必要がある。

そこで、Spring Tool Suite 4でjarファイルを作成する方法について調べた。

結論からいうと、Run As → Maven Installで生成することができた。

jarファイルはtargetフォルダに生成されている。

Failed to refresh live data from process

f:id:maipontan:20200504144233p:plain

Spring Tool Suite 4からSpring Bootのアプリケーションを起動させて、chromeデバッグしてた時に、エラーが発生。

Failed to refresh live data from process 11086というエラー。

検索してみると、解決方法は2つあることが判明

  1. Preferences -> Language Server -> Spring Language Server -> Spring Boot Language Server -> Spring Boot JavaのLive Information - Automatic Process Trackingのチェックをはずす。

github.com

2.pom.xmlにspring-boot-starter-actuatorを追加

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2つとも試してみて、両方うまくいきました。

Spring Tools 4 for Eclipseをインストール

f:id:maipontan:20200502133153p:plain

Spring Bootの開発をはじめるにあたり、まず、IDEの選択。

IntelliJEclipseの2択で迷い、Eclipseを採用。

Eclipse MarketPlaceでSpringのプラグインを検索したけど、最新版が見当たらない。 (ちなみに、Eclipseのバージョンは、確か、2020‑03だった気がする。)

f:id:maipontan:20200503044330p:plain

検索をかけてみると、Spring Tools 4 for Eclipseを発見。

spring.io

mac版をダウンロードして、解凍後、インストールして使えるようになりました。

Spring Bootを始めました

f:id:maipontan:20200502130654p:plain

spring.io

Spring Bootを始めました。

Google App Engine Java standard環境が、Java 8からJava 11にバージョンアップしたことに伴い、Spring Bootが使えるようになったからです。

Javaサーブレットしか使ったことがないので、楽しみです。