2019/09/07

VSCodeのSTSでハマったこと

SpringBootを使ったWebアプリのビルドで手順書を作ることとなった。
サンプルのプロジェクトを見ながら手順書を作りたかったので、メンバーが使っているIDEAであるSTS(Spring Tool Suite)の環境を準備することにした。
STSダウンロード場所
環境構築時に困ったことをまとめる。
結論としては、VSCodeとOracleJDKの最新版(jdk1.8.0_202)で環境構築できた。

Win環境に展開できない

会社で環境構築したときの困りごと。
  • 会社のPCの環境
    • OS:WIn10 64bit
    • JDK:Oracle JDK 1.8.0_xxx ※再確認
  • 導入しようとしたSTS
    • Spring Tools 4 for Eclipse Windows 64-bit
  • 困ったこと
    • ZIPファイルを展開すると、ファイル名が長くて展開できないというエラーが発生し、展開が完了できない
  • 対応策

VSCodeのExtensionの「Language Support for Java by Red Hat」が動かない

自宅で環境構築したときの困りごと。
  • 自宅のPCの環境
    • OS:Mac High Sierra 10.13.6
    • JDK:Oracle JDK 1.8.0_05
  • 発生したエラー
    • VSCodeのダイアログ
      The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.
    • Extentionのサイトに行ってみると、JDKの設定が必要と記載があった
    • 記載されている内容を実施してみる
      • VSCodeの設定に「java.home」を追加して、JDKのパスを設定
        // Spring Boot Development
        "java.home" : "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home"
        
      • JAVA_HOMEを環境変数に追加し、PATHにも追加
        $ vi ~/.bash_profile
        ## JAVA_HOME
        export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
        export PATH=$PATH:$JAVA_HOME
        $ source ~/.bash_profile
        
      • 変更内容を反映
        $ source ~/.bash_profile
        
      • 反映内容を確認
        $ printenv JAVA_HOME
        $ printenv PATH
        $ java -version
        $ javac -version
        
      • VSCodeを再起動
      • VSCodeのダイアログの内容は変わらないが、エラーを見てと言われた
        • エラーログ
          { message:
             'Starting Java server with: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java ※※省略※※,
            level: 'info',
            timestamp: '2019-09-07 12:04:46.072' }
          { message:
             'Unrecognized VM option \'UseStringDeduplication\'\nError: Could not create the Java Virtual Machine.\nError: A fatal exception has occurred. Program will exit.\n',
            level: 'info',
            timestamp: '2019-09-07 12:04:46.165' }
          { message:
             'The Language Support for Java server crashed and will restart.',
            level: 'error',
            timestamp: '2019-09-07 12:04:46.171' }
          
      • 2つめのログを見ると、設定は反映されているけど、JVMが起動できていない感じ
      • Quick Startの2つ目に下記の記載があって、JDK1.8であれば良いと思ったけど・・・
        • Download and install a recent Java Development Kit (latest Java 8 is the minimum requirement).
      • 試しに、Oracle JDKの最新版(jdk1.8.0_202)をインストールし、再設定
        • 環境変数
          $ vi ~/.bash_profile
          ## JAVA_HOME
          export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
          #export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
          $ source ~/.bash_profile
          $ java -version
          $ javac -version
          
        • VSCodeの設定(更新・保存すると、再起動のポップアップあり)
          // Spring Boot Development
          "java.home": "/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home"
          //"java.home" : "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home"
          
        • 再起動すると、バックグラウンドで処理が実行され、エラーは表示されなくなった!
          • "recent Java Development Kit"とあっただけあって、マイナーバージョンを上げる必要があった

VSCodeでSpringBootの開発を行うために

あとは、下記の記事を参考に開発をしていくと良さそう。