この記事では、カスタムジャーの構造上の問題を自己診断する方法を記録しています。 カスタムジャーの構造上の問題にはさまざまな種類がありますが、これは開発者が開発中に構造上の問題をトラブルシューティングするための一般的なガイドラインです。
解決
1. bnd コマンドを使用して、モジュールのシンボリック名の構文を確認する。
- Developer Tools > Liferay Project SDK > Latest Releaseから Liferay Dev Studio インストーラーをインストールします。
- 以下のコマンドを実行して、モジュールのシンボル名を確認し、 Resolve Bundle-SymbolicName Syntax Issues.
bnd print [path-to-bundle]以下に例を示します。
emma$ bnd print bookmark.custom-1.0.0.jar [MANIFEST bookmark.custom-1.0.0] Bnd-LastModified 1518747539446 Bundle-ManifestVersion 2 Bundle-Name bookmark-custom Bundle-SymbolicName bookmark.custom Bundle-Version 1.0.0 Created-By 1.8.0_45 (Oracle Corporation) Fragment-Host com.liferay.bookmarks.web;bundle-version="1.0.15" Import-Package javax.servlet,javax.servlet.http Javac-Debug on Javac-Deprecation off Javac-Encoding Cp1252 Manifest-Version 1.0 Tool Bnd-3.2.0.201605172007 [IMPEXP] Import-Package javax.servlet javax.servlet.http
2. 以下の GogoShell コマンド を使用して、バンドルとフラグメントのステータスを確認します。
-
lb -s [Bundle-SymbolicName]lb- DXP のモジュールフレームワークにインストールされているすべてのバンドルをリストアップします。-sフラグを使用すると、バンドルのシンボル名を使用してバンドルをリストアップします。以下のような出力になるはずです:
g! lb -s bookmark.custom START LEVEL 20 ID|State |Level|Symbolic name 753|Resolved | 10|bookmark.custom (1.0.0)
注:バンドルは ACTIVE ステータス、フラグメントは RESOLVED ステータスである必要があります。
-
b [BUNDLE_ID]シンボル名、バンドルID、データルート、登録(提供)・使用サービス、インポート・エクスポートされたパッケージなど、特定のバンドルに関する情報を一覧表示します。
以下のような出力になるはずです:
g! b 753 bookmark.custom_1.0.0 [753] Id=753, Status=RESOLVED Data Root=/home/emma/Liferay/bundles/dxp/liferay-dxp-digital-enterprise-7.0-sp6/osgi/state/org.eclipse.osgi/753/data "No registered services." No services in use. No exported packages No imported packages Host bundles com.liferay.bookmarks.web_1.0.33 [59] -
diag [BUNDLE_ID]指定したバンドルが動作しない理由(未解決の依存関係など)に関する情報を一覧表示します。
以下のような出力になるはずです:
g! diag 754 com.liferay.portal.search.elasticsearch6.impl [754] Unresolved requirement: Import-Package: com.liferay.portal.search.elasticsearch6.configuration; version="[1.0.0,2.0.0)"
3. 未解決のOSGIコンポーネントを検出する手順
トラブルシューティングの手順 未解決のOSGIコンポーネントを検出するために、以下のセクションに分かれています:
4. ソースコードが入手可能でアップグレード中であれば、ブレークチェンジの検出が可能
追加情報
以下のリストは、基礎となるOSGiプラットフォームに基づいて発生する可能性のある問題をトラブルシューティングするのに役立つ、よくある質問の一部です。 提供された回答は、文書化された問題を修正するのに役立ちます。 これらのほとんどは、 トラブルシューティング FAQ ページに記載されています。