質問

Apache Slingが下にあるコンテンツリポジトリ(Adobe CQ5)を使用しています。 JSPの代わりにFreeMarkerを使用してWebページをレンダリングしたいと思います。

そのためには、Sling Sourceコードの貢献部分にあるOSGI Freemarker拡張機能をスリングにアップロードする必要がありますか、それともFreeMarkerのOSGIバージョンをアップロードする必要がありますか?両方のJARSがインターフェイスjavax.script.scriptengineFactoryを実装するので、どちらを使用するか、または両方をアップロードするかわかりません。

役に立ちましたか?

解決

以下を実行することで、FreemarkerをCQ5.3に取り組むことができました。

  1. SVNチェックアウトからソースを取得します http://svn.apache.org/repos/asf/sling/trunk スリング
  2. contrib/scripting/freemarkerに移動し、freemarkerscriptengine.javaからすべてのロギングおよびslf4j参照を削除します - ノクラスデフェスエクセプションのために500エラーをスローします-CQ5とFreemarkerに含まれるSLF4Jのバージョンとの間に矛盾があると思います(私はDid'n 'Did'n'何が悪いのかを調べるために掘ります)
  3. それを構築してインストールすると、バンドルの下のスリングコンソールと「スクリプトエンジン」ページに表示され、.ftlスクリプトを今すぐ使用できます。

CQ5内にバンドルを作成し、コードをインポートし、ストックFreeMarker.jarをバンドルに追加することで、少し違った方法で行いましたが、これは基本的に同じものであるため、これも機能するはずです。

私が抱えていた問題は、スクリプトエンジンがリストされているが、ロギングが実行されないということでした。そのため、エンジンからlog&slf4jを削除する必要があります。

他のヒント

私はについて知りません FreemarkerのOSGIバージョン;私たちは、特にスリング用のフリーマーカーの独自のバンドルを作成しました。を使用して成功した場合 FreemarkerのOSGIバージョン 我々に教えてください ;-)

テストは簡単です:Webコンソールにバンドルをインストールし、Webコンソールでサポートされているスクリプトエンジンを確認するだけです 構成ステータス. 。そこにリストされているフリーマーカーエンジンが表示されている場合は、機能するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top