Teammates: Dev Help: how to upgrade AppEngine SDK to 1.9.54

Created on 28 Jun 2017  ยท  9Comments  ยท  Source: TEAMMATES/teammates

EDIT by @whipermr5: Issue has been resolved. Follow these steps if you need help getting your IDE to work after updating your branch:

First step (all IDEs):

  1. ./gradlew appengineDownloadSdk
  2. Follow steps below for your IDE

For Eclipse:

  1. Eclipse โ†’ Preferences โ†’ Google โ†’ App Engine, add the new SDK (first part of step 2 of ide-usage.md#eclipse-ide)
  2. ./gradlew resetEclipseDeps
  3. Project โ†’ Properties โ†’ Java Build Path โ†’ Libraries โ†’ Remove Web App Libraries โ†’ OK.
  4. Project โ†’ Clean

For IntelliJ:

  1. Follow step 3 of ide-usage.md#intellij-idea
  2. Follow step 7 of development.md#set-up-the-run-configuration

I updated google appengine to 1.9.54 and while launching the web application i get the following error:

Jun 28, 2017 2:26:12 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Jun 28, 2017 2:26:13 PM com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties
INFO: Overwriting system property key 'java.util.logging.config.file', value 'C:\Users\shubhamgarg01\.gradle\appengine-sdk\appengine-java-sdk-1.9.54\config\sdk\logging.properties' with value 'WEB-INF/logging.properties' from 'C:\Users\shubhamgarg01\workspace\teammates\src\main\webapp\WEB-INF\appengine-web.xml'
Jun 28, 2017 2:26:13 PM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
Jun 28, 2017 8:56:14 AM com.google.apphosting.utils.jetty.JettyLogger info
INFO: jetty-6.1.x
Jun 28, 2017 8:56:15 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed appstats: java.lang.NoClassDefFoundError: com/google/appengine/tools/appstats/AppstatsFilter
Jun 28, 2017 8:56:15 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed com.google.appengine.tools.development.DevAppEngineWebAppContext@4123bb{/,C:\Users\shubhamgarg01\workspace\teammates\src\main\webapp}: java.lang.NoClassDefFoundError: com/google/appengine/tools/appstats/AppstatsFilter
Jun 28, 2017 8:56:15 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed JettyContainerService$ApiProxyHandler@95ed49: java.lang.NoClassDefFoundError: com/google/appengine/tools/appstats/AppstatsFilter
Jun 28, 2017 8:56:15 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: Error starting handlers
java.lang.NoClassDefFoundError: com/google/appengine/tools/appstats/AppstatsFilter
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:195)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.mortbay.util.Loader.loadClass(Loader.java:91)
    at org.mortbay.util.Loader.loadClass(Loader.java:71)
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
    at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:81)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
    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 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:268)
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:284)
    at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26)
    at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:87)
    at com.google.appengine.tools.development.Modules.startup(Modules.java:105)
    at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:271)
    at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:47)
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:219)
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:359)
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:47)
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:223)
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:214)
Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.appstats.AppstatsFilter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:195)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 43 more

Jun 28, 2017 8:56:15 AM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Started SelectChannelConnector@localhost:8888
Jun 28, 2017 8:56:15 AM com.google.appengine.tools.development.AbstractModule startup
INFO: Module instance default is running at http://localhost:8888/
Jun 28, 2017 8:56:15 AM com.google.appengine.tools.development.AbstractModule startup
INFO: The admin console is running at http://localhost:8888/_ah/admin
Jun 28, 2017 2:26:15 PM com.google.appengine.tools.development.DevAppServerImpl doStart
INFO: Dev App Server is now running

image

a-DevHelp c.Message

Most helpful comment

@shubham49 I'd like to keep this issue open for a while to help other devs :)

All 9 comments

Try ./gradlew resetEclipseDeps then clean the project.

After doing ./gradlew resetEclipseDeps i got

java.lang.RuntimeException: Unable to locate the App Engine agent. Please use dev_appserver, KickStart,  or set the jvm flag: "-javaagent:<sdk_root>/lib/agent/appengine-agent.jar"
    at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:329)
    at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:245)
    at com.google.appengine.tools.development.DevAppServerFactory.access$000(DevAppServerFactory.java:33)
    at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:233)
    at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:231)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:231)
    at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:101)
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:347)
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:47)
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:223)
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:214)
Caused by: java.lang.NoClassDefFoundError: com/google/appengine/tools/development/agent/AppEngineDevAgent
    at com.google.appengine.tools.development.DevAppServerFactory.testAgentIsInstalled(DevAppServerFactory.java:325)
    ... 11 more
Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.development.agent.AppEngineDevAgent
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 12 more

First step (all IDEs):

  1. ./gradlew appengineDownloadSdk
  2. Follow steps below for your IDE

For Eclipse:

  1. Eclipse โ†’ Preferences โ†’ Google โ†’ App Engine, add the new SDK (first part of step 2 of ide-usage.md#eclipse-ide)
  2. ./gradlew resetEclipseDeps
  3. Project โ†’ Properties โ†’ Java Build Path โ†’ Libraries โ†’ Remove Web App Libraries โ†’ OK.
  4. Project โ†’ Clean

For IntelliJ:

  1. Follow step 3 of ide-usage.md#intellij-idea
  2. Follow step 7 of development.md#set-up-the-run-configuration

I am using eclipse and followed the same steps but getting this error
dont know what am I doing wrong

Project properties โ†’ Java Build Path โ†’ Libraries โ†’ Remove Web App Libraries โ†’ OK and wait for it to refresh.

This worked for me. thanks

Is there any way to apply filters on the datastore viewer? I upgraded SDK just to check this, but I am unable to find it. I checked staging server and there we can get results by executing GQL or by applying filters.

I doubt so. I think the only way is to write application code.

@shubham49 I'd like to keep this issue open for a while to help other devs :)

Was this page helpful?
0 / 5 - 0 ratings