問題
- LARファイルをプログラム的にいきなり読み込む方法はないのでしょうか?
Environment
- すべてのLiferayバージョン
解決策
- 現時点では、LARファイルを自動展開するためのアウトオブボックスな方法はありません。
- LARファイルは、自動展開フォルダ経由でもインポートできず、UIのエクスポート/インポートメニューからしかインポートできません。
追加情報
とはいえ、以下の 代替案 をご覧ください。まず、 この liferay の開発者のブログ では、LAR ファイルを使用する際の重要な注意点を説明しています。
一つの選択肢として、 、「内部API」(例えば、自分のモジュールをLiferayにデプロイして、そこで適切なAPIコールを行う場合)を試してみてはどうでしょうか。 そのコードがどのようなものか、 GroupLocalServiceImpl.java#L4028-L4063の中でサンプルを見ることができます。
第二の選択肢として、 、「リモートAPI」を試してみるのもよいでしょう。 バンドルで/api/jsonwsを検索してimport-layoutsという名前のメソッドを探すと、理論的にはLARのインポートを可能にする、正しいオブジェクトが渡されていれば、2つのメソッドが見つかります。
Further Considerations (LARインポートプロセスの自動化は、以下のような様々な要因に依存する可能性がありますが、これらに限定されません:)
- 1回限りのサイト初期化でも、継続的なアップデートでも(CI/CD Pipeline)
- LARファイルがバージョン間で互換性がないことを考慮したアップグレードプランがあるかどうか
- 使用するデータベースの行ロック、テーブルロックの特性について
- LARインポートの完了までの所要時間