Tomcat 10.1でJSTLを利用する

最近、JSPを利用する人も少ないためか、JSTLをTomcatで使うための情報がなさそうな雰囲気でもあるので、メモがてらにポイントを書いておく。

まずは依存関係に入れるJARファイルですが、Mavenであれば以下の感じで追加する。

    <dependency>
      <groupId>jakarta.servlet.jsp.jstl</groupId>
      <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
      <version>3.0.0</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jakarta.servlet.jsp.jstl</artifactId>
      <version>3.0.1</version>
    </dependency>

jakarta.servlet.jsp.jstlが実装なので、これを入れないと動かない。(これでちょっとハマりました…) なので、後者の方を入れないと以下のようなエラーが出ます。

Caused by: org.apache.jasper.JasperException: /WEB-INF/view/index.jsp (line: [1], column: [1]) Unable to find taglib [c] for URI: [jakarta.tags.core]

JARファイルを依存関係に追加しておけば、あとは、taglibの宣言も

<%@taglib prefix="c" uri="jakarta.tags.core"%>

のような感じで、http://〜で指定したuriがjakarta.tags.〜に変わってます。これも書き変えておきます。

この辺を対応すれば、Tomcatの以前のバージョンからも移行できると思います。(javaxからjakartaパッケージにいろいろと変えるという大きな作業はあるとは思いますが…)

maven-source-pluginでエラーが出る

maven-source-pluginを3.3.0に上げたら、以下のようなエラーが出るようになった。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-source-plugin:3.3.0:jar (source-jar) on project fess-crawler: Presumably you have configured maven-source-plugn to execute twice times in your build. You have to configure a classifier for at least on of them. -> [Help 1]

これだと思うのだが、mvn package javadoc:jarみたいな感じで、マルチプロジェクトとかで複数の処理があると起きるみたい。とりあえず、3.3.0にする必要がないなら、3.2.1に戻すなどが良さそう。

Fess 14.11.1のリリース

OpenSearch 2.12のリリースがまだな感じもあるので、現時点の修正をFess 14.11.1として、リリースしました。主な変更点は以下のとおりです。

#2776はプラグインの読み込みで例外処理を改善しました。

#2778は1語の単語を”で囲んだときに、あいまい検索のクエリーも追加されていたので、追加されないようにしました。

#2784は検索結果をクリックして、ファイルを取得する処理を整理しました。テキストファイルの表示では文字化けする場合があるので、それを修正してあります。

#2785はいくつかのstopwordファイルにBOMが入っていたので、削除しました。

#2786は検索結果をクリックして、ファイルをダウンロードするときに日本語のファイル名として、取得できない状態だったので、修正しました。

細々とした修正になりますが、何かあれば、フォーラムをご利用ください。