Liferay-Require-SchemaVersionが存在しないか正しくない場合、カスタムサービスビルダが一部の依存関係を満たすことができない

問題

カスタムService Builderモジュールをデプロイするときに、Liferay-Require-SchemaVersionが見つからないか、正しくないために依存関係の問題が発生しました。

GoGo シェルで ds:unsatisfied を実行すると、いくつかの問題が見つかる:

Bundle {id: 1735, name: com.liferay.example.service, version: 1.0.0}
	Declarative Service {id: 11529, name: com.liferay.example.service.impl.FooLocalServiceImpl, unsatisfied references: 
		{name: fooPersistence, target: null}
	}
	Declarative Service {id: 11530, name: com.liferay.example.service.impl.FooServiceImpl, unsatisfied references: 
		{name: fooLocalService, target: null}
		{name: fooPersistence, target: null}
	}
	Declarative Service {id: 11532, name: com.liferay.example.service.persistence.impl.FooPersistenceImpl, unsatisfied references: 
		{name: Configuration, target: (&(origin.bundle.symbolic.name=com.liferay.example.service)(name=service))}
	}

環境

  • Liferay DXP 7.4 u79+

解像度

  • Liferay-Require-SchemaVersion is required for each Service Builder > Liferay-Service module.

この方法では、 bnd.bnd を更新する必要がある:

  1. カスタムアップグレードプロセスのないサービスモジュール(デフォルト)
    • Liferay-Require-SchemaVersion は同じモジュールの "Bundle-Version" を満たす必要があります。
    • 例:
      Bundle-Name: example-service
      Bundle-SymbolicName: com.liferay.example.service
      Bundle-Version: 2.1.0
      Liferay-Require-SchemaVersion: 2.1.0
      Liferay-Service: true
      -dsannotations-options: inherit
  2. カスタムアップグレードプロセスを持つサービスモジュール
    • Liferay-Require-SchemaVersion はアップグレードプロセスの最新バージョンと同じでなければなりません。
    • カスタムアップグレードプロセスのバージョン "1.2.3 "のbnd.bndの例 :
      Bundle-Name: example-service
      Bundle-SymbolicName: com.liferay.example.service
      Bundle-Version: 2.1.0
      Liferay-Require-SchemaVersion: 1.2.3
      Liferay-Service: true
      -dsannotations-options: inherit

追加情報

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています