【问题标题】:Appengine Modules Maven Error during DevSever Goal RunDevSever 目标运行期间的 Appengine 模块 Maven 错误
【发布时间】:2014-04-13 19:18:44
【问题描述】:

我一直在尝试运行一个支持模块的新项目,但一直出现以下错误,无法调试,

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>

它显然没有指向正确的战争文件夹路径。有人知道怎么解决吗?

谢谢

【问题讨论】:

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


    【解决方案1】:

    创建的包文件夹必须与 application.xml 中的 web-uri 匹配。因此,您可以在 maven-ear-plugin 中使用 bundleFileName 更改捆绑文件夹名称

    <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 相同),这样您就不必在版本更改时费心了。

    完整的耳朵插件sn-p:

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 2019-05-05
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多