VisualStudioCode(以下VSCode)でJava開発環境、JUnitテスト実施が
サクサクと動いてくれたのでWebapp作成とTomcat連携をやってみようと思います。
結果から言うとビルドツール無しで使うのはキツイ。
ビルドツール使えば設定も簡単なので、開発環境には有り。
研修環境にはどうしようか…と言ったところ。ビルドツールもセットで環境にしてしまおうか?
Tomcat for Javaはwar実行/デバッグのみ
VSCodeでTomcat連携をするための拡張機能「Tomcat for Java」を追加して、
Tomcatディレクトリを設定してあげれば設定完了。
拡張機能マーケットでTomcatで検索してインストール
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/09/VSC-tomcat1-1024x290.png)
拡張機能をインストール終われば
TOMCAT SERVERSという項目が追加されるので、[+]を押してTomcatディレクトリを指定。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/09/VSC-tomcat2.png)
この状態になれば、Tomcatの開始・終了、デプロイができます。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/09/image-13.png)
ただし、warファイルのみ
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/09/image-14.png)
warファイルを生成すれば、右クリックで実行かデバッグができます。
実行後はブラウザでアクセスすればOK。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/09/VSC-tomcat3.png)
ソース編集の度にwarファイル生成は…さすがにね…
warファイルならデバッグも可能。と言っても
ちょっとの変更の度にwarファイル生成は避けたい。
と思って調べたら、ホットリロード可能だということ
Java.Autobuildを有効にして、
Java > Debug > Settings > Hot Code Replaceをautoに設定。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/10/image-1024x351.png)
warの実行をデバッグ実行にすればOK。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/10/image-1.png)
warファイル生成時点のソースと実行結果
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/10/image-2-1024x293.png)
デバッグ実行したまま、ソースを編集して上書き保存
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/10/image-3-1024x420.png)
ブラウザ側でリロードすれば、編集したソースが反映されているのを確認できます。
![](https://sugiyamatatsuya.com/wp-content/uploads/2021/10/image-4.png)
warファイルを再生成しているわけではないので、
tomcatを再起動すると編集前のソースコードが実行されちゃいます。
tomcatを起動する前にwarファイルを再生成する癖をつけないと、
実行されるコードと目に見えるコードが食い違ってしまうので迷子になりかねませんね。
終わり
VSCodeでJava webアプリを作成して、Tomcat連携実行をやってみました。
デバッグ実行中に限り、ソースコードの変更を即時反映までしてくれるので、
開発環境には問題ないな、と思いました。
冒頭にも書きましたが、ビルドツール使うことを前提に研修環境にも良いかなぁ
と思います。プロジェクトの新規作成が鬼門?
コメント