kamokaze
kamokaze

Reputation: 7370

GAE error generating the API metadata for Cloud Endpoints from Spring project

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

Answers (1)

atealxt
atealxt

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

Related Questions