My開発メモ

スッキリJava著者作成のWTPプラグインを使わせていただく (Ubuntu 22.04)

スッキリ・シリーズのJavaが バージョン21に対応し、Tomcatも10.1に対応したということで、
僕のJava環境もそれに従うことにした。

ただ、いくつかの不具合がある。
スッキリJava のサイトでは、このように書かれている。

不具合の例

動的Webプロジェクトにweb.xmlを作成しない設定にしていても、サーブレット、フィルター、リスナーを作成するとweb.xmlが自動作成される
作成したサーブレットにWebServletアノテーションが追加されないのにも関わらず、WebServletアノテーションに関するimport文が自動で記述されるため警告が表示される
フィルターを作成すると、Jakarata EEではなくJava EEに対応したクラスをインポートするためエラーとなる

4/3発売『スッキリわかるサーブレット&JSP入門 第4版』とEclipse2023の不具合について

で、ありがたいことに、スッキリJava の著者は Eclipseの WTPプラグインの修正版(JARファイル)を作成してくれた。

しかしながら、そのJARファイルは Windows版とMac版が提供されており、
僕の使っている Linux(Ubuntu版)が提供されていない。

そこで、著者の作成したリポジトリをクローンし、JARファイルを作成することにした。

手順

  1. 作業のためのワークスペースをつくった。
    “work-tomcat10-java21”
  2. そのフォルダにて
    $ git clone https://github.com/flairlink/webtools.javaee.sukkiri.git
  3. eclipse を起動し、ワークスペースとして work-tomcat10-java21 を指定する。
  4. インポート — Maven — 既存 Maven プロジェクト
     で、”webtools.javaee.sukkiri” を指定。
  5. 4のプロジェクトを指定して、右クリックで、実行 — Mavenビルドを選択。
    開いたウィンドウで、ゴールに “package” を指定。
  6. ビルドが進むが、途中でエラー。
...
[INFO] org.eclipse.jst.j2ee.core.tests 1.1.600-SNAPSHOT ... [SUCCESS] [  5.405 s]
[INFO] org.eclipse.jst.j2ee.tests 1.2.0-SNAPSHOT .......... [FAILURE] [  6.578 s]
[INFO] org.eclipse.jst.jee.tests 1.0.101-SNAPSHOT ......... [SKIPPED]
[INFO] org.eclipse.jst.servlet.tests 1.2.0-SNAPSHOT ....... [SKIPPED]
[INFO] org.eclipse.jst.validation.test 1.2.0-SNAPSHOT ..... [SKIPPED]
[INFO] org.eclipse.webtools.javaee.site 3.6.0-SNAPSHOT .... [SKIPPED]

なんだ、失敗かあ。と思ったが、
“org.eclipse.jst.j2ee.web”のもとに”target”ができていて、そこに”JAR”ファイルができていた。
同様に、”org.eclipse.jst.servlet.ui”のもとに”target”ができていて、”JAR”ファイルができていた。

そこで、以下の手順で、eclipseの中のJARファイルと入れ替えた。

僕の Ubuntu では、eclipseは “~/bin/eclipse” にインストールしている。
プラグインのJARファイル群は、”~/bin/eclipse/jee-2023-06/plugins” の中にある。

で、作業のために、デスクトップに “sukkiri_jar/” フォルダを作成して、
そこに作成した2つの JARファイルを置いた。

  1. eclipseのワークスペースの”webtools.javaee.sukkiri”プロジェクトの中の以下の2つのファイルをコピーして、sukkiri_jar/ フォルダにおく。
    org.eclipse.jst.j2ee.web/target/ の中の “org.eclipse.jst.j2ee.web-1.3.0-SNAPSHOT.jar”
    org.eclipse.jst.servlet.ui/target/ の中の “org.eclipse.jst.servlet.ui-1.2.100-SNAPSHOT.jar”
  2. eclipseプラグインがインストールされているフォルダの中の以下の2つのファイルを、そのディレクトリから除外。
    ~/bin/eclipse/jee-2023-06/plugins の中の
     (1) “org.eclipse.jst.j2ee.web_1.3.0.v202307260438.jar”
     (2) “org.eclipse.jst.servlet.ui_1.2.0.v202402152248.jar”
    を除外する。
  3. かわりに以下のファイルを入れる。
    org.eclipse.jst.j2ee.web-1.3.0-SNAPSHOT.jar
    org.eclipse.jst.servlet.ui-1.2.100-SNAPSHOT.jar

これで、不具合はなくなった。

参考

4/3発売『スッキリわかるサーブレット&JSP入門 第4版』とEclipse2023の不具合について

カテゴリー: Eclipse, Java, memo, tomcat, Ubuntu

タグ: Eclipse, WTP, プラグイン

カウント: 141