maven-javadoc-plugin 3.6以降のエラー

いつものようにmvn release:performを実行したら、以下のようなエラーに遭遇した。

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.7.0:jar (attach-javadocs) on project fess-crawler-es: Execution attach-javadocs of goal org.apache.maven.plugins:maven-javadoc-plugin:3.7.0:jar failed: Unable to derive module descriptor for .../.m2/repository/org/opensearch/opensearch/2.19.1/opensearch-2.19.1.jar: Provider class org.apache.lucene.search.suggest.document.Completion50PostingsFormat not in JAR file opensearch-2.19.1.jar -> [Help 1]

なんだろうと思ったけど、最近、pom.xmlのmaven-javadoc-pluginを3.7.0に上げたのだが、原因っぽい。このプラグインが JPMS(Java モジュールシステム)用のモジュール記述子を自動生成しようして、エラーになる。たぶん、opensearch-2.19.1.jarに問題があるのかもしれない。

回避する方法としては、pom.xmlで

    <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.7.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<legacyMode>true</legacyMode>
</configuration>
</plugin>

とするか、mvn release:performで

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"

とするかになる。

FessCTL

Fessの管理APIをコマンドとかで、気軽に使いたい場合があると思います(そもそも管理APIを使おうとしたときにどんな感じだったかも忘れがちだったりもするし…)。Fessをコマンドで操作するFessCTLを作り始めました。

fessctlコマンドを利用すると、クロール設定を作ったり、クロールを開始したりができるようになります。fessctl –helpで現在利用可能なコマンドがわかります。地道に管理APIを網羅できるようにしていきたいところではあります。興味があれば、ご利用ください。

Fess 14.19のリリース

時間が空いてしまいましたが、OpenSearch 2.19がリリースされていたので、Fessも14.19系をリリースしました。Fessのメインの開発は15.0系になっているというのもあり、14系には必要なものだけ入れる感じなので、変更は少ないです。主な変更点は以下です。

  • #2866: ファイル名がURLエンコードされないようにした
  • #2863: 検索ログなどのキューイングに上限を設定した

これら以外には依存しているライブラリを更新していたりします。何かあれば、フォーラムをご利用ください。