since a few days the Eclipse plugins started to show this error.
The project is an App Engine project based on Maven, and the dev-server is launched using the WTP integration provided by the Google Eclipse Plugin.
AVVERTENZA: failed com.google.appengine.tools.development.DevAppEngineWebAppContext@345541bd{/,C:\Noovle\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\Ape_Core}: java.lang.NoClassDefFoundError: com/google/appengine/api/utils/SystemProperty
Here is the full stack trace when the server is loaded
lug 07, 2015 11:43:12 AM java.util.prefs.WindowsPreferences <init>
AVVERTENZA: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
lug 07, 2015 11:43:12 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFORMAZIONI: Successfully processed C:\Noovle\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\Ape_Core\WEB-INF/appengine-web.xml
lug 07, 2015 11:43:12 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFORMAZIONI: Successfully processed C:\Noovle\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\Ape_Core\WEB-INF/web.xml
lug 07, 2015 11:43:13 AM com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties
INFORMAZIONI: Overwriting system property key 'java.util.logging.config.file', value 'C:\Users\Nicola\.m2\repository\com\google\appengine\appengine-java-sdk\1.9.22\appengine-java-sdk\appengine-java-sdk-1.9.22\config\sdk\logging.properties' with value 'WEB-INF/logging.properties' from 'C:\Noovle\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\Ape_Core\WEB-INF\appengine-web.xml'
lug 07, 2015 11:43:13 AM com.google.apphosting.utils.jetty.JettyLogger info
INFORMAZIONI: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
lug 07, 2015 11:43:14 AM com.google.apphosting.utils.jetty.JettyLogger info
INFORMAZIONI: jetty-6.1.x
lug 07, 2015 11:43:18 AM com.google.apphosting.utils.jetty.JettyLogger warn
AVVERTENZA: failed com.google.appengine.tools.development.DevAppEngineWebAppContext@345541bd{/,C:\Noovle\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\Ape_Core}: java.lang.NoClassDefFoundError: com/google/appengine/api/utils/SystemProperty
lug 07, 2015 11:43:18 AM com.google.apphosting.utils.jetty.JettyLogger warn
AVVERTENZA: failed JettyContainerService$ApiProxyHandler@2b8d9248: java.lang.NoClassDefFoundError: com/google/appengine/api/utils/SystemProperty
lug 07, 2015 11:43:18 AM com.google.apphosting.utils.jetty.JettyLogger warn
AVVERTENZA: Error starting handlers
java.lang.NoClassDefFoundError: com/google/appengine/api/utils/SystemProperty
at it.noovle.ape.tools.ToolsEnvironment.getApplicationVersion(ToolsEnvironment.java:26)
After some analysis I found the problem: when the server is published (or even a new one is created) the lib
folder in WEB-INF
is not created.
I'm sure about that because if I copy the lib
folder from another project (they share the same libraries) the server starts without problems.
I tried a clean start creating a new server, and as expected the lib
folder is missing.
In the Error Log
tab of Eclipse no problems are shown during the creation and publication of the server
I also need to clarify that if I launch the project with the devserver
maven goal, there are no problems at all.
I'm running on Windows 8 with Eclipse Mars (my coworker has Luna instead but same problem is shown).
The version of Google Plugin is Google Plugin for Eclipse 4.4 3.8.0.v201410302155-rel-r44
. Another coworker of mine has the same version of the plugin with Eclipse Luna and does not show this problem
Is there a way to debug the steps of the WTP plugin to understand why the lib
folder is not created?
Which is the possible explanation of this behaviour?