В процес съм на следване на Начално ръководство за Google Cloud Endpoints в Java с помощта на Maven и не мога да осъществя достъп до моите крайни точки с API Explorer.
В по-голямата си част следвах ръководството, въпреки че добавих малка структура към моя проект. Моят основен проектен пакет е com.ryanharter.devinfo
и моите крайни точки живеят в com.ryanharter.devinfo.spi
пакет, докато моите моделни класове са в com.ryanharter.devinfo.beans
(това е моделирано след Mobile Backend Starter).
Написах моя клас Endpoints и го анотирах така:
@Api(name = "deviceinfo",
version = "v1",
namespace = @ApiNamespace(
ownerDomain = "ryanharter.com",
ownerName = "ryanharter.com",
packagePath = "devinfo")
)
public class DeviceInfoV1 {
@ApiMethod(name = "list", path = "devices", httpMethod = HttpMethod.GET)
public DeviceListDto list(QueryDto query) {
...
}
...
}
Всичко това изглежда добре и съответства на други работещи проекти, които имам, но когато стартирам сървъра за разработка, получавам празен екран.
Също така забелязах, че моят maven log показва това:
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ devinfo ---
[INFO] Compiling 8 source files to /path/to/devinfo/target/classes
[INFO]
[INFO] --- appengine-maven-plugin:1.8.7:endpoints_get_discovery_doc (default) @ devinfo ---
[INFO]
[INFO] Google App Engine Java SDK - get endpoints discovery doc...
[INFO] No Endpoints classes detected.
Виждам, че има „Няма открити класове на крайни точки“. Също така забелязвам, че /path/to/devinfo/target/classes
е празен.
Освен структурата на пакета и съдържанието на класа, доколкото мога да преценя, следвах ръководството, свързано по-горе към писмото.
РЕДАКТИРАНЕ:
В отговор на Дан, ето съдържанието на моя файл web.xml:
<?xml version="1.0" encoding="utf-8"?>
<web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
Според документацията, свързана по-горе, не съм докосвал това. Точно това е генерирал архетипът на Maven. Виждал съм доклади онлайн за необходимостта от ръчно картографиране на моите крайни точки в web.xml
, но документът не казва нищо за това, така че предположих, че целта на Maven ще се погрижи за това вместо мен.