Я клонировал Java-хранилище ASK на github и запустил
mvn package
на нем, и он произвел следующие .jars:
ask-sdk-core-2.3.4.jar
ask-sdk-apache-client-2.3.4.jar
ask-sdk-dynamodb-persistence-adapter-2.3.4.jar
ask-sdk-lambda-support-2.3.4.jar
ask-sdk-servlet-support-2.3.4.jar
ask-sdk-2.3.4.jar
Я заметил, что при попытке сделать определенный импорт для классов на https://developer.amazon.com/docs/custom-skills,, таких как
import com.amazon.speech.speechlet.servlet.SpeechServlet;
Я получил сообщение о том, что com.amazon.speech не может быть разрешен, указывая, что файл не существует. Однако после дальнейших исследований я заметил, что существует класс SkillServlet, который, по-видимому, по сути заменяет класс SpeechServlet, поскольку он способен делать все, что может SpeechServlet,
поэтому я предположил, что сайт разработчика еще не обновлен, чтобы отразить изменения.
Затем я заметил, что RequestHandler
, класс в хранилище, имеет метод, который возвращает объект типа Optional< Response >
. Когда я попытался импортировать Response
со следующим импортом:
import com.amazon.ask.model.Response;
Я получил сообщение об ошибке
The type com.amazon.ask.model.Response cannot be resolved. It is indirectly referenced from required .class files
Это говорит о том, что определение класса не существует в пути к классам проекта, несмотря на то, что включены все вышеупомянутые файлы .jars. Я искал и не смог найти каталог моделей. Моя сборка Maven не удалась, и мне не хватает .jars? Я использую Eclipse EE IDE, которая, как я знаю, подвержена ошибкам, но я очистил свой проект и перезапустил IDE безрезультатно.
Обновление:
Я заметил, что файл pom.xml в каталоге ask-sdk-core-2.3.4 содержал зависимость для модели ASK SDK, но, похоже, он не получает зависимость. Я также заметил, что хотя ask-sdk-2.3.4 должен также включать все, что делает ask-sdk-core-2.3.4, так как последний указан как зависимость в первом, я должен включить jar ask-sdk-core файл отдельно или Eclipse не может распознавать определенные классы. Я думаю, что это означает, что Maven потерпел неудачу, поэтому я просто скачал банку прямо с mvnrepository.com. Есть идеи, почему это могло произойти?