7

複数の Liferay プロジェクト (異なるポータル、プラグイン、ユーザー、ユーザーグループなど) を同時に使用しており、それらを頻繁に切り替える必要があります。この切り替えには、次のような多くの手順が必要です

  • portal-ext.properties を編集して (Liferay データベースを変更し、いくつかのカスタム プロジェクト固有のプロパティを編集するため)、「portal-setup-wizard.properties」を編集します。
  • Eclipse Server インスタンスからポートレットのテーマとフックを追加/削除し、Tomcat の「data」「Webapps」および「work」フォルダーを時々消去します
  • Liferay の Control-Panel/Server/Plugins Installation に移動し、「Users and Organizations」または「Documents and Media」などのポートレットを再インデックスします

そのため、新しい Tomcat と JRE を使用して、プロジェクトごとに新しいサーバー インスタンスを作成するのは良い考えだと思いました。プロジェクトを切り替える必要があるときは、古いサーバーを停止して別のサーバーを起動するだけで済みました。最初は、 Server インスタンスが同じバージョンである限り、同じ Liferay Plugins SDK (6.1.0)を使用しても問題ないと思いました (実際にアドバイスを受けました) 。

実際には、これは 100% 完全には機能しません。ほとんどの作業は完了していますが、テーマが適切に展開されていない、フックが適用されていないなど、いくつかの問題があります。私が理解しているように、[Liferay SDK] - [Liferay Server] バインディングがいくつかあり、つまり、1 つのサーバー (私が作成した最初のサーバー) だけが完全に機能します。たとえば、[Liferay SDK フォルダー]/bild.[ユーザー名].properties を調べると、特定のサーバー/JRE の場所を参照しているいくつかのプロパティを確認できます。

    app.server.portal.dir
app.server.lib.global.dir
app.server.deploy.dir
app.server.type
app.server.dir

それで、私の質問は、複数の Liferay プロジェクトで作業するにはどうすればよいですか?

  1. マルチサーバーの実践は、複数のプロジェクトで作業するための良いアプローチですか?
  2. はいの場合、サーバーごとに異なる SDK を作成する必要がありますか? 多分別のEclipseワークスペースも?または、同じSDKを使用する方法はありますか
  3. 異なるLiferayバージョンのサーバーでの作業はどうですか?
4

4 に答える 4

4

個人的には、重複を意味する場合でも、すべてのプロジェクトに独自のソース、Tomcat、データベースなどを設定しています。最近のストレージは安価であり、これを可能にしています。もちろん、あなたの走行距離は非常に多いかもしれませんが、私のセットアップをあなたと共有したいと思いました.

次のようなすべてのプロジェクトを含むプロジェクト ディレクトリがあります。

/projects
    /foo-project
    /bar-project
    /my-project

私が持っているプロジェクトの中で

/my-project
    /tomcat
        /bin
        /conf
        ...
    /src
        /portal
            ... my portal source ...
        /plugins
            ... my plugin source ...
    /portal-ext.properties
  • 次に、さまざまなポート (8080、8081、8082 など) を使用するように tomcat をセットアップして、必要に応じてすべてを実行したままにしておくことができるようにします。
  • Liferay インスタンスごとに異なるデータベースを使用するように Liferay をセットアップしました。
  • portal-ext.propertiestomcat ディレクトリに兄弟として配置すると、Liferay はこのファイルを読み取ります (デフォルトの動作を想定)。これにより、すばやく簡単に編集できるだけでなく、各プロジェクトをどのように設定したかを把握することもできます。

利点は明確である必要があります。分解してセットアップすることなく、プロジェクトから別のプロジェクトに「立ち去る」ことができます。そしてあなたが戻ったとき、すべてはあなたが残したままです。コンテキストの切り替えは、まだ取り組んでいないプロジェクトに関する質問に答えたい場合にも、より迅速で便利です。

各プロジェクトの複雑さによっては、マルチインスタンスが機能しない場合があります。フックと EXT は互いに競合する可能性があり、プロジェクトでは既に競合しているように見えます。

スペースに余裕がある場合 (それほど多くはありません)、これは Liferay 開発者として私が見つけた最速の方法です。

于 2013-04-27T00:06:54.593 に答える
3

社内で新しい Liferay プロジェクトに取り組み始める場合は、次のようにセットアップします。

  • 新しいデータベース スキーマ、
  • そのスキーマに接続された新しいクリーンなLiferayサーバーと
  • 新しい Eclipse ワークスペース
  • クリーンな SDK プロジェクト

この方法でのみ、プロジェクトを明確に分離することができます。別のプロジェクトに切り替えるには、現在の Liferay サーバーをシャットダウンし、新しいサーバーを起動して、Eclipse の適切なワークスペースに切り替えます。これは、ワークスペースとサーバーを共有する場合に必要なすべてのクリーンアップ アクションを実行するよりもはるかに短い 2 分もかかりません。

私の意見では、これはほとんどの開発チームのアプローチです。

于 2013-04-26T13:08:06.360 に答える