1

新しく推奨されたモジュール構造を使用する appengine Maven プロジェクトがあります。したがって、2 つの war サブモジュールを含む ear モジュールがあります。ear ディレクトリから run mvn appengine:devserver を使用してコードを実行しています。ブラウザを更新して変更を確認できるように、コードの変更を保存したらすぐにMavenにデプロイしてもらいたいのですが、うまくいかないようです。これが私のイヤーポンです。

target/${project.artifactId}-${project.version}/*/WEB-INF/classes org.apache.maven.plugins maven-ear-plugin 2.8 5 lib war com.google.appengine appengine-maven-plugin $ {appengine.target.version} 2

<dependencies>
    <dependency>
        <groupId>com.blah.app</groupId>
        <artifactId>A</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.blah.backend</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>

https://developers.google.com/appengine/docs/java/tools/mavenの推奨に従って、ビルド ディレクティブの下の buildOuputput ディレクトリに追加し、指定もしました

<configuration>
  <fullScanSeconds>2</fullScanSeconds>
</configuration>

appengine-maven-plugin プラグインの下。また、netbeans でコンパイル オン セーブ オプションを有効にしましたが、devappserver の実行中に maven がクラス フォルダーをスキャンして変更をデプロイしていないようです。

現在、小さな変更ごとにクリーンなビルド/デプロイ サイクルで立ち往生しています。これについて何か助けていただければ幸いです。

4

1 に答える 1

0

war:exploded をコンパイル フェーズから呼び出し、m2e 構成にマッピングを追加することで、Eclipse で動作させることができたので、Eclipse のインクリメンタル ビルドで実行されます。それが Netbeans でどのように機能するかはわかりませんが、Eclipse のソリューションが役立つかもしれません。

私のpomの関連部分は次のとおりです。

これは、war:exploded 実行を構成する部分です。

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
                <webResources>
                    <!-- in order to interpolate version from pom into appengine-web.xml -->
                    <resource>
                        <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                </webResources>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>exploded</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

これは、m2e を構成する部分です (pom.xml のビルド セクションに入ります)。

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-war-plugin
                                    </artifactId>
                                    <versionRange>
                                        [2.4,)
                                    </versionRange>
                                    <goals>
                                        <goal>
                                            exploded
                                        </goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute>
                                        <runOnIncremental>true</runOnIncremental>
                                        <runOnConfiguration>true</runOnConfiguration>
                                    </execute>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
于 2014-10-30T22:55:19.813 に答える