Google AppEngine使用Maven与Codenvy中的app.yaml进行编译冲突

时间:2013-10-22 15:30:28

标签: java google-app-engine maven pom.xml app.yaml

我的项目配置pom.xml包含:

<gae.version>1.8.6</gae.version>

稍后直接引用web.xml ...

     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
               <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
           <webResources>
              <resource>
                 <directory>src/main/webapp/WEB-INF</directory>
                 <targetPath>WEB-INF</targetPath>
              </resource>
           </webResources>
        </configuration>
     </plugin>

....但我的web.xml是空的,因为我正在使用app.yaml来定义我的处理程序。我可以删除此插件元素而不会产生任何后果吗? maven-surefire-plugin怎么样?

1 个答案:

答案 0 :(得分:1)

将其从评论中移出(并获得咖啡的好处)。

如果您正在使用Java,请选择appengine-web.xml优于app.yaml的几个理由。

  1. 您将获得更好的工具支持。目前这是一个很弱的原因,但随着围绕App Engine的工具的增长,.xml配置可能会获得更好的支持。我想你现在遇到一个这样的情况。

  2. 如果您部分进入servlet世界,或者正在与那些人合作,web.xml是一种常态。

  3. 我的经验是使用app.yaml限制了获得帮助的机会,因为使用app.yaml的Java GAE用户池很小。警告:这里可能存在一些抽样偏差。

  4. 如果您认为有一天可能想要离开App Engine,比如说,转到RedHat的Cape Dwarf,我很确定他们不支持app.yaml。 (并不是说这将是一个巨大的变化。)

  5. 那就是说,如果你有一个简单的用例并且app.yaml正在为你工作,请坚持下去。这是一个受支持的选项。