【问题标题】:Google AppEngine conflict using Maven to compile with app.yaml in CodenvyGoogle AppEngine 冲突使用 Maven 在 Codenvy 中使用 app.yaml 进行编译
【发布时间】:2013-10-31 13:49:43
【问题描述】:

我的项目配置 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 呢?

【问题讨论】:

  • 你为什么使用 app.yaml?
  • 它在语法上看起来比 web.xml 更直接(尽管我意识到这是行业标准)。 GAE 文档说,如果它存在,他们支持它,即使是 Java 应用程序也是如此。 ...老实说,我不确定如何在 web.xml 中指定静态内容文件夹。
  • 你说“我们”是指谁? ...我只问,因为 GAE 文档似乎鼓励它:“使用 app.yaml,您可以比使用标准 web.xml 配置更轻松地配置 Java 应用程序,并且使用更少的文件。”
  • 戴夫,我看到你在 GAE 团队为谷歌工作。谢谢回复。您能否更具体地说明为什么 web.xml 更适合?如果这确实是团队的想法,那么应该有人更新文档以澄清,因为现在它鼓励了一些你不鼓励作为遗产的东西。再次感谢。

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


【解决方案1】:

将其从 cmets 中移出(并受益于咖啡)。

如果您正在使用 Java,那么有几个理由更喜欢 appengine-web.xml 而不是 app.yaml

  1. 您将获得更好的工具支持。目前这是一个薄弱的理由,但随着围绕 App Engine 的工具的增长,.xml config 可能会得到更好的支持。我想你现在遇到了这样一个案例。

  2. 如果您部分地在 servlet 世界中,或者正在与这样的人一起工作,web.xml 是一种规范。

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

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

也就是说,如果您有一个简单的用例并且 app.yaml 对您有用,请坚持使用。这是一个受支持的选项。

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
猜你喜欢
  • 2011-05-12
  • 1970-01-01
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多