Reputation: 7370
I ve a spring boot project with maven and i want to run it in google appengine. Now i keep getting this error:
There was a problem generating the API metadata for your Cloud Endpoints classes: Can't find WEB-INF directory
but the web-inf directory is there in place and the projects works fine!!
I use STS 3.6.3 with maven and google app engine sdk 1.9.19.
How can I track down this error? Is there a detailed error log I can look at? Any ideas appreciated....
Upvotes: 1
Views: 342
Reputation: 336
I think it's a eclipse plugin related bug, check you .classpath:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/war/WEB-INF/lib"/>
</attributes>
</classpathentry>
Make sure your WEB-INF path value is correct. Mine was "/WEB-INF/lib" which is generated incorrect.
Update at 12/14/2015:
Actually I don't have to edit that from now, my environment:
Eclipse: Luna 4.4.2
Google Plugin for Eclipse 4.4: 3.8.0
Google App Engine Maven Integration: 3.8.0
Google App Engine Java SDK: 1.9.25
My whole .classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="war/WEB-INF/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="test">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="war/WEB-INF/classes"/>
</classpath>
Upvotes: 2