2017-05-23 9 views
0

私はこのAEM 6.2 jarを持っています。このjarを実行しようとすると、必要なファイルとフォルダがすべて作成され、/ launchpad/felixディレクトリの下にすべてのバンドルが作成されます。AEM jarはどのようにすべてのバンドルを作成しますか?

ここで、バンドルを削除または名前を変更した場合私はbundle272をbundle272aaaに改名しました。 jarファイルを再度実行しようとすると、bundle bundle272がディレクトリから削除されました。

このjarを別の場所にコピーして実行しようとすると、/ launchpad/felixの場所にbundle272が戻ってきています。

どうしてですか?

+0

あなたの目標は何ですか?あなたは何を達成しようとしていますか? – Jens

+0

目標は少し異なります。あるバンドルが他のバンドルに与える影響を理解しようとしましたが、この問題が発生しました。 – Ngupta

+0

ファイルシステム上のバンドルを削除する必要はありません。 http:// localhost:4502/system/console/bundlesに行き、バンドルを停止してください。つまり、バンドルはOSGiサービスの形で機能を提供します。他のバンドルは、それらのOSGiサービスを「消費する」ことができます。 1つのバンドルは電子メールサービスを提供し、別のバンドルはこのサービスを使用して電子メールを送信します。電子メールバンドルを停止すると、もう一方のバンドルは電子メールをもう送信できなくなります。これは、バンドルが互いにどのように関連しているかを非常に短い言葉で表しています。 (明らかに、それにははるかに多いがコメントにはあまりにも多い)。 – Jens

答えて

1

AEM jar(アーカイブ)には、これらのファイルがすべて含まれています。 AEM jarをコピーして実行すると、それらのファイル(バンドルを含む)をすべてcrx-quickstartディレクトリに展開します。

+0

はい。これは私が思ったものですが、あなたが言っているのは、それは最初のものだけを抽出するのですか? – Ngupta

+0

また、バンドルを作成するすべてのjarsファイルをチェックしようとしましたが、私はaem jarファイル内のすべてのファイルを見つけることができませんでした – Ngupta

+0

これは依存しています。私が知る限り、いくつかのファイルは常に上書きされ(例えば 'sling.properties'のように)、バンドルのようなファイルは毎回抽出されないかもしれません。おそらく起動時間をあまり遅くしないでしょう。 – Jens

0

これは大きな疑問です。 crx-quickstart/launchpad/felixフォルダ内に表示されるバンドルは、単にキャッシュとして永続化されます。バンドルは、実際にはインストールフォルダの異なる場所にあるcrxリポジトリにあります。

Apache SlingはJCR Installerを使用して、これらのバンドルをリポジトリの別の場所からインストールします。これは、/ apps/geometrixx/installのようなインストールフォルダにosgi jarファイルを置くと、osgi jarがAEMにデプロイされる理由です。

Apache Slingには、&の設定をディスクに保存するFile installerという別のインストーラも用意されています。

ファイルインストーラを継承することでJCRインストーラが実装されていると推測されています。そのため、すべてのバンドルがディスクに書き込まれますが、名前を変更したり削除したりしてもディスクに復元されます。私はソースコードを調べてこの時点で検証することができないので、これを推測として書いていますが、これはおそらくボンネットの下で起こっていることです。

+0

jarを再起動してもそれらは元に戻されません。 jarファイルを別の場所にコピーして起動したり、ランチパッドフォルダを完全に削除したりすると、そこにすべてのファイルが置かれます。 – Ngupta

関連する問題