今週2021年7月5日のJavaラウンドアップでは、JDK17、JDK18、Open Liberty 21.0.0.7、Payara Server Community 6.2021.1.Alpha1、Quarkus 2.0.1、Spring Framework、Apache Tika 1.27、javax
からjakarta
へのネームスペース変更、IntelliJ IDEA 2021.2の開発状況、July 2021 TIOBE Indexを紹介する。
JDK 17
JDK 17 Build 30のアーリーアクセスビルドが先週公開された。いくつかのイシューに対するフィックスを含む、Build 29からのアップデートが含まれている。詳細はリリースノートで確認できる。
JDK 18
JDK 18 Build 5のアーリーアクセスビルドも同時に公開された。いくつかのイシューに対するフィックスを含む、Build 4からのアップデートが含まれている。詳細はリリースノートで確認できる。
JDK 17、JDK 18ともに、Java Bug Databaseを通じてバグレポートを募集している。
Open Liberty
IBMは、多数のバグを修正したOpen Libertyのバージョン21.0.0.7をリリースした。EJB Singletonライフサイクル中のデッドロック、clientSecret
の設定不良に一部関連するOIDCのログイン失敗、 JavaMailが実装時にのみ存在する/META-INF/javamail.default.address.map
ファイルにアクセスする問題、OAuthクライアントの登録時にGB 18030文字を含むクライアントIDが正しく動作しない問題などが修正されている。
Payara
Payaraは、同社のPayara Server Community Edition 6.2021.1.Alpha1が、Jakarta EE 9.1 Full Profileの準拠製品として認証されたと発表した。これによってPayaraは、Eclipse GlassFish 6.1 RC1、Open Liberty 21.0.0.3、WildFly 23.0.2、ManageCat 6.1.0などとともに、Full Profile準拠製品のリストに加わったことになる。
Quarkus
Red Hatは、Quarkus 2.0の最初のメンテナンスリリースであるQuarkus 2.0.1をリリースした。Small GraphQLのバージョン1.2.7へのアップグレード、Quarkus OIDC Clientがアクセストークンを取得できない問題、OpenTelemetryインテグレーションの改善、継続的テストがapplication.properties
ファイルのログレベル更新に適用されない問題など、多数のバグ修正が含まれている。詳細はchangelogに記載されている。また、Quarkus 2.0へのアップグレードを希望する開発者用のマイグレーションガイドが用意されている。
Spring Framework
GraphQL JavaをSpring Frameworkに統合する新プロジェクトのSpring GraphQLが、Javaコミュニティに向けて発表された。GraphQL Java Springプロジェクトの後継であるSpring GraphQLでは、より高度なセキュリティ、テストと例外処理の改善、Querydslのメトリクスと統合などが提供されている。
Spring Cloud Hoxton Release TrainのSR12が公開された。バグの修正が中心となっている。このリリーストレインとしては、今回が最後のサービスリリースになるが、重大なバグ修正やセキュリティ上の問題への対処は2022年2月末まで継続される予定である。詳細はリリースノートで確認できる。
Spring Authorization Server 0.1.2がリリースされた。独自のAuthorization Consentページ設定、承認エンドポイントおよびトークンエンドポイント、RegisteredClientRepository
、OAuth2AuthorizationService
、OAuth2AuthorizationConsentService
インターフェースの実装などが含まれている。
Apache Tika
Apache Tikaがメタデータ抽出ツールキットのバージョン1.27をリリースした。元はApache Luceneのサブプロジェクトだったが、今回リリースされた最新バージョンでは、TikaServerの/tika
エンドポイント用の新しいJSONハンドラ、新しいMP4パーザ、さまざまなバグ修正や依存関係のアップグレードが含まれている。詳細はリリースノートで確認できる。
javax
からjakarta
へのネームスペース変更
Eclipse FoundationでJakarta EEデベロッパアドボケートを務めるIvar Grimstad氏が、先日のHashtag Jakarta EEのブログ記事で、javax
からjakarta
へのネームスペース移行ツールについて論じている。Eclipse Transformerプロジェクトに加わって、jakartaOne 2020カンファレンスで紹介されたのは、コンフィギュレーション可能なコマンドラインツールのTomcat Migration Tool for Jakarta EEと、IntelliJ IDEA 2021.2のベータリリースで利用可能な、automatic Java EE to Jakarta EE migration組み込みユーティリティの2つだ。
IDEA 2021.2の開発状況
JetBrainsは、IntelliJ IEAD 2021.2のベータバージョンをリリースした。新機能として含まれているのは、MavenおよびGradleの依存関係を管理する新しいユーザインタフェース、前述したJavaEEからJakartaEEへの自動マイグレーション、Javaクラスのアクセス修飾子(public、protected、private)を視覚で表現する色設定、高度なIDE設定、Javaプロジェクト全体の分析機能などだ。
July 2021 TIOBE Index
今月で20周年を迎えるTIOBE IndexのJuly 2021エディションで、JavaはPythonを上回り、C言語に続く第2位のプログラミング言語としてランクされている。過去20年以上、Javaは常にトップ3にランクインしており、2020年4月には1位を達成している。2021年6月は3位であった。