【问题标题】:Google App Engine uploading multi-module project - Bad configuration: XML error validatingGoogle App Engine 上传多模块项目 - 错误配置:验证 XML 错误
【发布时间】:2014-12-18 11:30:12
【问题描述】:

我为 Google App Engine 构建了一个在开发服务器中运行良好的 2 模块应用程序。但是当我尝试上传它时,我收到了这个错误:

Bad configuration: XML error validating /Users/mosofsky/Developer/AudienceMarketing/audiencemarketing-ear/target/audiencemarketing-ear-1.0/audiencemarketing-frontend-1.0.war/WEB-INF/appengine-web.xml against /Users/mosofsky/.m2/repository/com/google/appengine/appengine-java-sdk/1.9.15/appengine-java-sdk/appengine-java-sdk-1.9.15/docs/appengine-web.xsd
  Caused by: cvc-complex-type.2.4.a: Invalid content was found starting with element 'module'. One of '{"http://appengine.google.com/ns/1.0":source-language, "http://appengine.google.com/ns/1.0":instance-class, "http://appengine.google.com/ns/1.0":automatic-scaling, "http://appengine.google.com/ns/1.0":manual-scaling, "http://appengine.google.com/ns/1.0":basic-scaling, "http://appengine.google.com/ns/1.0":static-files, "http://appengine.google.com/ns/1.0":resource-files, "http://appengine.google.com/ns/1.0":system-properties, "http://appengine.google.com/ns/1.0":vm-settings, "http://appengine.google.com/ns/1.0":vm-health-check, "http://appengine.google.com/ns/1.0":env-variables, "http://appengine.google.com/ns/1.0":ssl-enabled, "http://appengine.google.com/ns/1.0":sessions-enabled, "http://appengine.google.com/ns/1.0":async-session-persistence, "http://appengine.google.com/ns/1.0":user-permissions, "http://appengine.google.com/ns/1.0":public-root, "http://appengine.google.com/ns/1.0":inbound-services, "http://appengine.google.com/ns/1.0":precompilation-enabled, "http://appengine.google.com/ns/1.0":admin-console, "http://appengine.google.com/ns/1.0":static-error-handlers, "http://appengine.google.com/ns/1.0":warmup-requests-enabled, "http://appengine.google.com/ns/1.0":threadsafe, "http://appengine.google.com/ns/1.0":auto-id-policy, "http://appengine.google.com/ns/1.0":code-lock, "http://appengine.google.com/ns/1.0":vm, "http://appengine.google.com/ns/1.0":pagespeed, "http://appengine.google.com/ns/1.0":class-loader-config, "http://appengine.google.com/ns/1.0":url-stream-handler, "http://appengine.google.com/ns/1.0":use-google-connector-j}' is expected.
Please see the logs [/var/folders/dp/v_lw6kqx16bf7743hs5t9phc0000gn/T/appcfg5761671119313466239.log] for further information.
MOsofsky-MacBookPro:audiencemarketing-ear mosofsky$ 

这是我的两个 appengine-web.xml 文件:

appengine-web.xml 用于受众营销前端

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>audience-marketing</application> 
    <version>${appengine.app.version}</version>
    <module>audiencemarketing-frontend</module>   
    <threadsafe>true</threadsafe>

    <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
    </system-properties>
</appengine-web-app>

受众营销后端的 appengine-web.xml:

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>audience-marketing</application>
    <version>${appengine.app.version}</version>
    <module>audiencemarketing-backend</module>
    <threadsafe>true</threadsafe>

    <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
    </system-properties>

    <instance-class>B8</instance-class>
    <basic-scaling>
        <max-instances>11</max-instances>
    </basic-scaling>

</appengine-web-app>

这是我的 application.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
  <display-name>appengine-modules-ear</display-name>
  <module>
    <web>
      <web-uri>audiencemarketing-frontend-1.0.war</web-uri>
      <context-root>/audiencemarketing-frontend</context-root>
    </web>
  </module>
  <module>
    <web>
      <web-uri>audiencemarketing-backend-1.0.war</web-uri>
      <context-root>/audiencemarketing-backend</context-root>
    </web>
  </module>
  <library-directory>lib</library-directory>
</application>

我假设通过在 application.xml 文件中首先列出 Audiencemarketing-frontend 它应该被视为默认模块。

我做错了什么?

【问题讨论】:

    标签: java google-app-engine


    【解决方案1】:

    根据https://cloud.google.com/appengine/docs/java/modules/routing

    默认模块

    默认模块是通过显式指定模块名称来定义的 “默认”或不包括模块的名称参数 配置文件。没有指定模块或无效模块的请求是 路由到默认模块。您可以使用管理控制台 适当时为模块指定默认版本。

    因此,我想默认的模块不应该有元素。更正是针对

    appengine-web.xml 用于受众营销前端

    <?xml version="1.0" encoding="utf-8"?>
    <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
        <application>audience-marketing</application> 
        <version>${appengine.app.version}</version>
    <!--    <module>audiencemarketing-frontend</module>   OFFENDING LINE REMOVED -->
        <threadsafe>true</threadsafe>
    
        <system-properties>
            <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
        </system-properties>
    </appengine-web-app>
    

    这解决了问题,然后我可以上传并运行我的应用程序。

    【讨论】:

      猜你喜欢
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多