『わかりやすいJakarta EE ウェブシステム入門』では NetBeans + Payara Server を使っていますが、VS Code + WildFly を使いたい事情があり、挑戦してみました。
VS Code 拡張の導入
Java 用のプロファイルを作成し、Extension Pack for Java, XML を導入しました。
JET(Jakarta EE Toolkit)ver1.1 のダウンロード
Jakarta EE 8 でやりたかったので ver1.1 をダウンロードしました。
Jakarta EE 10 でやりたい場合、JET ver2.1 には sample01 が含まれていないので注意が必要です。
sample01 を開く
C:\jet\projects\sampleProjects\sample01 フォルダーを VS Code で開きます。
pom.xml の変更
wildfly-maven-plugin を使って WildFly を自動的にダウンロードして使用することにしました。最新の 5.0.0 だと pom.xml が target にコピーされてしまうバグがあったので、一つ古いものを使いました。
WildFly のバージョンは、https://start.jakarta.ee/ で Jakarta EE 8 + Java SE 11 を指定した際に pom.xml に書かれていたバージョンを指定しています。
pom.xml の plugins に以下を書き加えます。
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>4.2.2.Final</version>
<configuration>
<version>26.1.3.Final</version>
<javaHome>C:\path\to\jdk-11</javaHome>
<debug>true</debug>
</configuration>
</plugin>
文字化け防止
なぜか 1 度目の送信時だけ文字化けします。これを防ぐために、webapp\WEB-INF\jboss-web.xml を以下のように作成してください。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<default-encoding>UTF-8</default-encoding>
</jboss-web>
実行
これで、Ctrl+Shift+P > Maven:Execute Commands... > Custom... > clean package wildfly:dev を実行すると、サーバーがダウンロードされ、http://localhost:8080/sample01/ にアクセスすると画面を確認することができます。
wildfly:dev を使っているので、ソースコードの修正が即座にサーバーに反映されます。
リモート デバッグ
先に、run configuration の作成が必要です。
- Run > Add Configuration... としてローカル用の実行構成を一時的に作成
- Run > Add Configuration... として、エディター ペイン上で Java: Attach を選択
- port を "8787" とする
- ローカル用の実行構成を削除
ブレークポイントの設定後、左のアイコンの Run and Debug (Ctrl+Shift+D) で Attach を選べばアタッチされるので、画面を操作するとブレークポイントの位置で停止するようになります。
参考
関連記事