5

いくつかのバックエンドをモジュールに変換していますが、開発環境の設定に困惑しています。私はEclipseでJavaを使用していますが、Mavenは使用していません。アーキテクチャは非常に単純です。

  • フロントエンド モジュールはデフォルトです。基本的な GAE/GWT アプリ。アイテムをタスク キューに入れます。
  • バックエンド モジュールは、タスク キューを処理します。

古いバックエンド アーキテクチャでは、GWT DevMode UIとバックエンド タスク処理を提供する開発サーバーを 1 つのデバッグ構成で起動していました。

問題の核心は、DevMode への引数が -war コマンド ライン引数を提供することです。war ファイルが 1 つなくなったので (2 つの war ファイルを含む ear があります)、それらを個別に開始する必要があります。これで問題ありません。フロントエンドとバックエンドを起動する起動グループを作成できます。

問題は、各 war ファイルが独自の WEB-INF/appengine-generated/local_db.bin を取得することです。これにより、基本的に 2 つのスタンドアロン アプリケーションが作成されます。ここで何か不足していますか?フロントエンド RPC サービス、新しいバックエンドでタスク キュー アイテムを処理するサーブレットにブレークポイントを設定し、1 つのデバッグ セッションで両方をヒットできるようにする必要があります。

ご意見ありがとうございます。

4

2 に答える 2

3

こちらの手順に従うと、Maven をまったく使用せずに、Eclipse でモジュール化されたアプリケーション構造が作成されます。必要なプロジェクト タイプ (エンタープライズ アプリケーション プロジェクトと動的 Web プロジェクト) を利用できるようにするには、Eclipse WTP が必要です。

Eclipse プロジェクトの構造は次のようになります。

<<Enterprise Application Project>> ear-app
    |
    | (refers to)
    |
<<Dynamic Web Project>> app-module-1  "default"
<<Dynamic Web Project>> app-module-2  "any_name_2"
<<Dynamic Web Project>> app-module-3  "any_name_3"
<<Dynamic Web Project>> app-module-4  "any_name_4"

「name」の値は appengine-web.xml の「module」要素を参照しますが、物理的な Web プロジェクトには任意の名前を付けることができます。

GPE WTP メニュー オプションを使用するには、J2EE パースペクティブに切り替える必要があることに注意してください。標準の Java パースペクティブには表示されません。

次に、EAR プロジェクトを新しいローカル サーバー インスタンス (「Google App Engine」タイプ) にリンクする必要があります。

appengine-web.xml で「デフォルト」としてフラグを設定する必要がある Web モジュールは 1 つだけです。

EAR をローカル サーバーにデプロイすると、データストアの場所はデフォルトの Web モジュールの WEB-INF/appengine-generated/local_db.bin になり、Web モジュール間で共有されます。

于 2014-05-06T16:11:49.653 に答える
2

Google App Engine の MyEclipse プラグインで複数のモジュールを実装する方法を理解するのに同様の問題があります。私が見つけた最良の情報は、Maven を使用するように言っているだけです。

「Java EE は WAR ファイルをサポートしていますが、モジュール構成では展開された WAR ディレクトリのみを使用します。App Engine の Java SDK には、スケルトン EAR 構造を構築できる Apache Maven ツールが含まれています。」(ソース: https://developers.google.com/appengine/docs/java/modules/ )

これも見つけました:

「Maven プロジェクトのレイアウトは Eclipse プロジェクトとは異なります。そのため、Eclipse で Maven プロジェクトを使用する場合は、もう少し作業を行う必要があります。次のオプションがあります。

1] 既存の Maven プロジェクトのインポートの説明に従って、App Engine の Maven プロジェクトを Web Tools Platform (WTP) プロジェクトとして Eclipse にインポートします。

2] m2eclipse などの適切な Maven 統合プラグインを使用して、Maven プロジェクトを Eclipse にインポートします。

3] 2 つのデバッグ構成をセットアップします。1 つは devserver の Maven プロジェクト (mvn appengine:devserver) 用で、もう 1 つは Eclipse デバッグ クライアントを devserver jvm に接続するために使用するリモート Java アプリケーション用です。これを行う方法の詳細については、... を参照してください

Maven を使用していないとおっしゃっていましたが、Maven を試してみることを検討していただけますか?

于 2014-04-11T23:18:58.730 に答える