I'm on step "Running project on the Server" from https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project and I ran into a problem:
Error occurred during initialization of VM agent library failed to init: instrument Error opening zip file or JAR manifest missing : C:\Program
Another person reported a similar problem here: Error opening zip file or JAR manifest missing : C:/Program. But the solution was for a different set of technologies. I'm using Eclipse, Web Tools Platform, and Google-App-Engine.
Most likely it's because my Java is installed in C:\Program Files, a directory which contains a space. But I'm not sure how to fix this. I’m not sure how to safely move the Java\jre7 directory to a directory without a space in it.
You just have to add
""
to your jar file behind-javaagent
:If you use IntelliJ the solution appears to be slightly different. You need to edit the Run Configuration the same way that the Eclipse users do, but add the "VM Options" using this format instead:
-javaagent:[/absolute/path/DMEnhancerJava-1.0.jar][classes=META-INF/]
Note the formatting with the brackets after the colon with no spaces for each parameter. If you miss that you'll get a runtime error message about JavaAgent expecting that input format.
Also, remember that if you use a build tool like Maven or Gradle and add this to your JAVA_ARGS variable (via something like MAVEN_OPTS) you'll need to wrap the whole thing in double quotes.
The second parameter appears to be necessary to tell DMEnhancer what to instrument (mine was relative to the top level of my classpath; because my compiled POJOs were in the META-INF directory).
Lastly, you may notice that you sometimes get an error talking about a class being implemented in two places in the classpath internal to the VM:
This seems to happen because of a bug in the JVM and is fixed (on MacOS X) in 1.8u152 (at the time of writing, this is considered an Early Access Release available here). See this other answer for more information on this JVM bug.
Run your cmd as an Admin. When you try to startup your server and you are not starting it up as an admin you get this error.
Jordan Fish from Google Cloud Platform Support helped me solve this problem. He said:
Here was my original VM arguments:
Here is what I changed it to (added double quotes around the directory that's passed as the -javaagent: param):
This fixed my problem, I was able to complete step "Running project on the Server" from https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project