小编use*_*859的帖子

java.lang.IncompatibleClassChangeError:实现类部署到app引擎的类

我在JRE 1.6上使用Jersey 1.13编写了几个REST服务.一切都在本地运行正常,但在我部署到GAE后,我收到此错误:

****Uncaught exception from servlet
java.lang.IncompatibleClassChangeError: Implementing class
    at com.google.appengine.runtime.Request.process-139e1bda14d5aebc(Request.java)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79)
    at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
    at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
    at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:452)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:458)
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:698)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:336)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:328)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:456) …
Run Code Online (Sandbox Code Playgroud)

google-app-engine jersey

18
推荐指数
4
解决办法
4万
查看次数

将Android应用中的照片上传到Google云端存储/应用引擎 - 非法字符'_'

我在将Android应用中的照片上传到GCS时遇到问题.我可以上传文本文件而不上传照片.我尝试了各种mime类型以及不同的Base64编码方法(decodeBase64,encodeBase64URLSafeString等...)

我觉得我真的很亲密.

这是我收到的错误消息:

com.google.appengine.repackaged.org.codehaus.jackson.JsonParseException:base64内容中的非法字符'_'(代码0x5f)[来源:N/A; line:-1,column:-1]

我看了编码的字符串,那里没有任何'_'.

Android代码:

Activity:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        switch (requestCode)
        {
            case 0:
            {

                try
                {



                        InputStream is = getContentResolver().openInputStream(data.getData());

                        tvMessage.setText("Done!");

                        byte[] b = getBytes(is);

                        gaeTask task = new gaeTask();

                        PhotoObject p = new PhotoObject();

                        p.encodeBytes(b);
                        p.setName("picturejpg.jpg");

                        task.execute(p);
                }
}
AsnycTask:
protected String doInBackground(PhotoObject... params)
        {
            String responseMessage = "";

            try
            {
                PhotoObjectEndpoint builder = new PhotoObjectEndpoint(AndroidHttp.newCompatibleTransport(), new JacksonFactory(), new HttpRequestInitializer()
                {

                    @Override
                    public void initialize(HttpRequest arg0) throws IOException
                    {
                        // …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine android google-cloud-storage

4
推荐指数
1
解决办法
1851
查看次数