SpringBoot(STS)の起動でjavaw.exeのエラー
経緯
SpringBootとの出会いは、ある会社を調べていたら、出てきてなんだろうーと思って調べたところからです。
とにかく良い!ということで、まったく得意じゃないjavaだけど触ってみようかな?と思い、様々なURLを参照して構築に臨みました。
初めて投稿します。
不備等ありましたら、ご連絡ください。
結果
HelloWorldすらできないレベル。
ちょっとがんばったら動いたので、同じような思いで入り口で躓いている人のために共有しようと思いました。
環境
Windows 10 64bit
STSのインストール
SpringBootには、eclipseと実行環境がくっついているSTSというものが便利だそうです。
- 以下のURLから、STS4をダウンロードしました。
ファイル名は以下でした。
spring-tool-suite-4-4.1.2.RELEASE-e4.10.0-win32.win32.x86_64.zip
- C:ドライブの直下に、stsというフォルダーを作成しました。
- stsフォルダー内に先ほどダウンロードしたzipファイルを格納しました。
- zipファイルをstsフォルダー内で解凍しました。
この状態で SpringToolSuite4.exe を実行すると、以下のようなエラーが出力されます。
このエラーでググると、javaがインストールされていないとのこと。
よくよく見てみると、
C:\sts\sts-4.1.2.RELEASE\jre\bin\javaw.exe
という内容が出力されています。
この場所にjavaを配置すれば、起動できるのでは…?と思いました。
javaのインストール
JREがjava runtimeで実行版だというぼんやりとした知識はあったので、インストールを試みます。
ですが、javaは単純にインストールすると、ほかの環境と競合したり、毎回バージョンアップ!バージョンアップ!うるさいイメージがあったので、zipから解凍して、前述のパスに配置することにしました。
STSを64bit版にしたので、javaも64bit版で。
JREがなぜか見つからなかったので、以下のURLから、JDKをダウンロード。(まずかったらごめんなさい…。)
ダウンロードしたファイル名は以下です。
jdk-11.0.2_windows-x64_bin.zip
以下の手順で、このファイルを前述のSTSが参照しているパスに配置します。
- ダウンロードしたzipファイルを、C:\sts\sts-4.1.2.RELEASEに配置します。
- 配置したzipファイルを解凍します。
- 解凍すると、「jdk-11.0.2」というフォルダーが作られます。
「jdk-11.0.2」フォルダーの名前を、「jre」に変更します。
これで、SpringToolSuite4が起動できると思います!
最初のプロジェクトを作成
- File > New > Spring Starter Project をクリック
- そのまま次へ
- 以下のチェックを入れ、次へ
- Template Engines - Thymeleaf
- Web - Web
- Finish
- Template Engines - Thymeleaf
- Web - Web
画面右下にプログレスバーが表示されるので、しばらく待ちます。
Demoアプリケーションの起動
作成したdemoアプリケーションを起動します。
- プロジェクトを右クリック > Run As > Spring Boot App
以下のエラーが出てしまう…。
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
String cannot be resolved to a type
at com.example.demo.DemoApplication.main(DemoApplication.java:9)
Stringがない?
JREを追加する
- Window > Preferences
- Java > Installed JREs
- Add > Standard VM > Next
- JRE home に "C:\sts\sts-4.1.2.RELEASE\jre" を指定。 > Finish
- Apply And Close をクリックします。
- STSがフリーズする…。
- どうしようもないのでSTSを強制終し、STSを再起動します。
Demoアプリケーションを再度起動
プロジェクトを右クリック > Run As > Spring Boot App
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.3.RELEASE)
~(省略)~
DemoApplication in 2.981 seconds (JVM running for 4.501)
起動できました!
最後に
当初、STS 3.9.7で試していて、この事象に出くわし、Qiitaに投稿しようと思い、再現させようとしたところ、STS 4系であっさりうまくいってしまいました。
で、もう一度やったところ、再現し、STS 3.9.7と同様に試してみたところうまくいきました。
javaをインストールすれば簡単なのでしょうが、無理やりにでもなんとかしたかったので、このような内容になりました。
STS 3.9.7 の時はさらにMavenが邪魔をしてうまくいかないことがあったのですが、このページの内容にあわせ、以下の手順で解決できました。
- 一度、STSを閉じる
-
C:\Users\<user>\.m2
のフォルダーを削除する - STSを起動する
- Building workspaceをしばし待つ
- プロジェクトを右クリック > Maven > Update Project > OK
- しばし待つ
Author And Source
この問題について(SpringBoot(STS)の起動でjavaw.exeのエラー), 我々は、より多くの情報をここで見つけました https://qiita.com/wakoit/items/e0781478a2f63fb2d529著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .