検索
ホームページJava2.x に更新した後、OSGi バンドルで「slf4j.api」を使用するには、拡張子「osgi.serviceloader.processor」が必要です。

最新のアップデートをバージョン 2.x に導入した後、Apple の PHP エディタは、OSGi パッケージで「slf4j.api」を使用するには拡張子「osgi.serviceloader.processor」が必要であることを発見しました。この更新は、柔軟性と利便性が向上するため、この拡張機能を使用する開発者にとって重要な変更です。この更新の目的は、開発者が slf4j.api をより適切に使用および管理し、プログラムのパフォーマンスと安定性を向上できるようにすることです。開発者は、進化するニーズを満たすためのさらなるアップデートと改善を期待できます。

質問内容

github に小さな再現プロジェクトを作成しました: slf4j-experiment

基本的に必要なのは、slf4j-api を使用したコードを含む osgi パッケージです。

###例:### リーリー

私の

build.gradle

には次のものがあります: リーリー これは slf4j で期待どおりに動作します

1.7.36

現在 slf4j の

2.0.11

バージョンを使用していますが、サービス プロバイダーを使用しているため、osgi メタデータにモデル化された新しい制約があり、現在行き詰まっています: リーリー おそらく spi fly によって提供される追加のバンドルが必要なようですが、その方法がわかりません...

回避策

あなたの

Example

ステートメント: リーリー (私は gradle osgi bnd のファンではありません) は、Maven Central から

slf4j-api-1.7.36.jar

に解決されます。 これは正しい osgi バンドルです:

リーリー

しかし

slf4j-api-2.0.11.jar

には次の内容があります: リーリー 実際 -

aries spi-fly

を満たします: リーリー slf4j は、このコミットでこれらのヘッダー (必須)

を取得しました。 p>

spi-fly は、osgi による java サービス ローダー

であり、正しいスレッド コンテキスト クラスローダーが設定されるようにバンドルのコードを動的に変換します。 これは実際には、ロガー実装の

静的バインディング

から /meta-inf/services/ org のサービス検出に切り替えるための slf4j API 2 の適切な 要件 です。 .slf4j.spi.slf4jserviceprovider サービス。 しかし、オスギは粘り強い獣です。ロギングについては、pax ロギング プロジェクトをお勧めします。このプロジェクトでは、正しい

org.slf4j

パッケージをエクスポートするだけでなく、ロギング バックエンドを動的に構成し、osgi 構成管理を使用して構成することもできます。

以上が2.x に更新した後、OSGi バンドルで「slf4j.api」を使用するには、拡張子「osgi.serviceloader.processor」が必要です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はstackoverflowで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境