2012-11-21 12 views
5

ポートレットをプログラミングするためのMavenプロジェクトを簡単に作成できます(たとえばarchetypeを使用)。しかし、Liferayのにこのプロジェクトを展開するために、私は実行する必要があります:私は、単純なJSPファイルを変更してもLiferayとMavenを使用してポートレットを効率的にプログラミングする方法は?

mvn package liferay:deploy

、私は、全体のポートレットアプリケーションを再デプロイする必要があります。この開発プロセスをスピードアップする方法はありますか?

私はAntを使いたくないので、依存関係などを扱わなければならないでしょう。 Mavenを使ってLiferayポートレットアプリケーションを開発したいと思っています。

私はJRebelを試してみましたが、理由は、包装のWARにファイルそれは魔法だ再作成するには、この状況に:(

を動作しません:

  1. はたartifactIdとMaven原型からプロジェクトを作成します。Liferayのを-portlet-原型
  2. のpom.xmlにプロパティを追加:liferay.versionを、
  3. スタートのLiferay
  4. MVNパッケージのLiferay liferay.auto.deploy.dir:展開 - >これはレコード生成しますWARファイルを作成し、liferay auto deployディレクトリに展開します。
  5. あなたが何かを変更したいたびに、MVNパッケージのLiferayを行う必要があります。これはちょうどこんにちは、世界よりも大きな何かに時間がかかる

を展開。

私が知る限り、これはベストプラクティスであると考えられています。しかし、Liferayのドキュメンテーションはこのテーマではあまりありません。別の方法がありますか?

+0

[Maven Liferay](http://www.liferay.com/web/mika.koivisto/blog/-blogs/15470275)プロジェクトを使用していますか? –

+0

はい、いいえ。これらのライブラリはLiferay Maven PluginによってMavenリポジトリから内部的に使用されます。 –

答えて

1

STS(SpringSource Tool Suite)とLiferay IDEの組み合わせで問題を解決しました。この組み合わせでは、Liferay Mavenプラグインをまったく使用する必要はありません。単純にLiferayサーバを追加し、このサーバにMavenアプリケーションをデプロイするだけで、すべて動作します。

この組み合わせをJRebelと組み合わせることは、IMHOが最も効果的なソリューションです。

0

あなたのアプリケーションは、JRebelのWARにパッケージ化されていて問題なく動作します。 rebel.xml設定ファイルをWARに入れましたか?

+0

はい、クラスパスにrebel.xmlがあります。誰かがこの状況を再現できるように、質問を編集しました。 –

+0

classpathにrebel.xmlがあります。つまり、WAR内のWEB-INF/classesにパッケージされていますか? -Drebel.log = true VM引数を指定してJRebelログを有効にして、JRebelサポートにログを送信してください。他のディレクトリを監視しているエージェントか、バージョンを特定しているバグです。ところで、JRebelは通常、監視するディレクトリであるstdoutに出力します。 –

関連する問題