DevSever目标运行期间的Appengine Modules Maven错误

时间:2014-04-13 19:18:44

标签: java google-app-engine maven gae-module app-engine-modules

我一直在尝试使用模块支持运行一个新项目,但是我一直在跟踪错误,无法调试它,

com.google.apphosting.utils.config.EarHelper reportConfigException [INFO] INFO:应用程序目录' path-to-project / DemoEar-1.0.0-SNAPSHOT / DemoWarApp'必须存在并成为目录。

我的模块结构如下

main application.xml包含

 <module>
 <web>
 <web-uri>DemoWarApp</web-uri>
 <context-root>DemoWarApp</context-root>
</web>
</module>

它显然没有指向正确的war文件夹路径。有谁知道如何解决它?

由于

1 个答案:

答案 0 :(得分:1)

创建的bundle文件夹必须与application.xml中的web-uri匹配。因此,您可以使用bundleFileName

中的maven-ear-plugin更改捆绑文件夹名称
<modules>
        <webModule>
            <groupId>groupId-of-DemoWarApp</groupId>
            <artifactId>artifactId-of-DemoWarApp</artifactId>
            <bundleFileName>DemoWarApp</bundleFileName>
        </webModule>
</modules>

或者每次都将web-uri更改为{module-name} - {version}以匹配创建的捆绑文件夹名称。

我建议使用与版本无关的捆绑bundleFileName(与您的web-uri相同),这样当版本发生变化时您就不必费心了。

完整的ear plugin片段:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.9</version>
    <configuration>
      <modules>
        <webModule>
            <groupId>groupId-of-DemoWarApp</groupId>
            <artifactId>artifactId-of-DemoWarApp</artifactId>
            <bundleFileName>DemoWarApp</bundleFileName>
        </webModule>
      </modules>
      <version>5</version>
      <defaultLibBundleDir>lib</defaultLibBundleDir>
      <unpackTypes>war</unpackTypes>
    </configuration>
</plugin>