我的项目配置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 怎么样?
最佳答案
将其从评论中移出(并借助咖啡)。
如果您使用 Java,则更喜欢 appengine-web.xml
而不是 app.yaml
的一些原因。
您将获得更好的工具支持。目前这是一个薄弱的原因,但随着 App Engine 工具的发展,
.xml
配置可能会得到更好的支持。我想您现在就遇到了这样的情况。如果您部分涉足 servlet 领域,或者与从事 servlet 领域的人一起工作,
web.xml
就是一种规范。我的经验是,使用
app.yaml
会限制您获得帮助的机会,因为同时使用app.yaml
的 Java GAE 用户群体是小的。警告:这里可能存在一些抽样偏差。如果您认为有一天您可能想从 App Engine 迁移到 RedHat 的 Cape Dwarf ,我很确定他们不支持
app.yaml
。 (并不是说这会是一个巨大的变化。)
也就是说,如果您有一个简单的用例并且 app.yaml
适合您,请坚持下去。这是一个受支持的选项。
关于java - Google AppEngine 在 Codenvy 中使用 Maven 与 app.yaml 进行编译时发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522152/