Java 11を真面目に使い始めて遭遇したのだが、Java 8まではDateFormat#getDateTimeInstanceで”M/d/yy h:mm a”のDateFormatが返ってきたけど、Java 9からは”M/d/yy, h:mm a”という感じで微妙にカンマが入る。ということで、今までどおりにパースはできない…。
JDK-8152154を見ると、-Djava.locale.providers=COMPAT,CLDR JI9032375 というオプションで前のも使えるらしい。
Challange IT For Future
Java 11を真面目に使い始めて遭遇したのだが、Java 8まではDateFormat#getDateTimeInstanceで”M/d/yy h:mm a”のDateFormatが返ってきたけど、Java 9からは”M/d/yy, h:mm a”という感じで微妙にカンマが入る。ということで、今までどおりにパースはできない…。
JDK-8152154を見ると、-Djava.locale.providers=COMPAT,CLDR JI9032375 というオプションで前のも使えるらしい。
Java 11を使ってmvn javadoc:javadocとしたときに
[ERROR] Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/8/docs/api/ are in the unnamed module.
とか
[ERROR] Exit code: 1 - javadoc: エラー - ドキュメント化しようとしているコードではモジュールが使用されていますが、https://docs.oracle.com/javase/8/docs/api/で定義されているパッケージは名前のないモジュールのものです。
のようなエラーが出るときには、JavaDocの参照するJavaのソースコードのバージョンの問題なので、pom.xmlのjavadocプラグインで、sourceを次のようにして押しておく
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<charset>UTF-8</charset>
<source>8</source>
</configuration>
</plugin>
cifsのファイル群をjcifsでクロールしているのだけど、sambaが提供しているjcifsだとSMB1しかアクセスできず、Fess 12.2からjcifs-ngベースのものに移行したのだけど、世の中にはNASとかWindows以外にSMBを話すファイルサーバとかあって、jcifs-ngだと動かないケースがあったりして、なかなかのつらさがある…。
問題が出るファイルサーバとかだと、昔のjcifsベースのものだと動くらしいので、Fessとしてはどうしたものかと考えて、回避策を用意した。普通はsmb://〜で指定するけど、昔のjcifsのSMB1で良いなら、smb1://〜という指定にすれば、昔のjcifsベースの処理で動くようにしてみた。
という感じで、Fess 12.5.2からsmb1://〜を使えるようになる予定。