Google App Engine重新打包错误

时间:2017-07-31 14:48:38

标签: google-app-engine

我正在尝试使用ff配置在我的开发环境中运行Google App Engine端点:

的build.gradle

-l

buildscript {
    repositories {
        jcenter();
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.28'
    }
}

repositories {
    jcenter();
    mavenCentral();
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.28'
    compile 'com.google.appengine:appengine-endpoints:1.9.28'
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.28'

    compile 'com.google.guava:guava:19.0'
    compile 'com.googlecode.objectify:objectify:5.1.12'

    compile 'javax.servlet:servlet-api:2.5'

    compile group: 'org.tuckey', name: 'urlrewritefilter', version: '4.0.4'

    compile group: 'com.google.appengine.tools', name: 'appengine-gcs-client', version: '0.6'
}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
    endpoints {
        getClientLibsOnBuild = true
        getDiscoveryDocsOnBuild = true
    }

    jvmFlags = ["-Ddatastore.backing_store=\"/<some local path>/local_db.bin\""]
}

的web.xml

buildscript { repositories { jcenter(); } dependencies { classpath 'com.google.appengine:gradle-appengine-plugin:1.9.28' } } repositories { jcenter(); mavenCentral(); } apply plugin: 'java' apply plugin: 'war' apply plugin: 'appengine' sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 dependencies { appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.28' compile 'com.google.appengine:appengine-endpoints:1.9.28' compile 'com.google.appengine:appengine-endpoints-deps:1.9.28' compile 'com.google.guava:guava:19.0' compile 'com.googlecode.objectify:objectify:5.1.12' compile 'javax.servlet:servlet-api:2.5' compile group: 'org.tuckey', name: 'urlrewritefilter', version: '4.0.4' compile group: 'com.google.appengine.tools', name: 'appengine-gcs-client', version: '0.6' } appengine { downloadSdk = true appcfg { oauth2 = true } endpoints { getClientLibsOnBuild = true getDiscoveryDocsOnBuild = true } jvmFlags = ["-Ddatastore.backing_store=\"/<some local path>/local_db.bin\""] }

我在运行dev服务器时遇到ff错误,并且在调用端点时,虽然可以在服务器中执行端点方法:



<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <filter>
        <filter-name>ObjectifyFilter</filter-name>
        <filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>ObjectifyFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
        <servlet-name>SystemServiceServlet</servlet-name>
        <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
        <init-param>
            <param-name>services</param-name>
            <param-value>com.mypackagename.MyEndpoint,
com.mypackagename.SecondEndpoint</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>SystemServiceServlet</servlet-name>
        <url-pattern>/_ah/spi/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

(实际上是一系列例外情况“com.google.appengine.tools.development.agent.impl.Transformer transform     严重:无法检测{classname}。安全限制可能无法完全模拟“)

在我看来,com.google.appengine.repackaged库导致了这个问题。 (这是正确的吗?)

更新: 在端点内部调用Objectify方法时,(有时)会引发相同类型的异常,导致不会更新到数据存储区。

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <filter>
        <filter-name>ObjectifyFilter</filter-name>
        <filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>ObjectifyFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
        <servlet-name>SystemServiceServlet</servlet-name>
        <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
        <init-param>
            <param-name>services</param-name>
            <param-value>com.mypackagename.MyEndpoint,
com.mypackagename.SecondEndpoint</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>SystemServiceServlet</servlet-name>
        <url-pattern>/_ah/spi/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

以前有人遇到过这样的事吗?非常感谢一些帮助澄清这个问题的意见。

提前致谢。

0 个答案:

没有答案