【发布时间】:2018-06-26 21:26:04
【问题描述】:
我在 github 上克隆了 Amazon 的 ASK java 存储库并运行
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
这表明项目的类路径中不存在类定义,尽管包含了上述所有 .jar。我搜索并找不到模型目录。我的 Maven 构建失败了吗,我错过了任何 .jars 吗?我正在使用 Eclipse EE IDE,我知道它容易出错,但我已经清理了我的项目并重新启动了 IDE,但无济于事。
更新: 我注意到 ask-sdk-core-2.3.4 目录中的 pom.xml 文件包含 ASK SDK 模型的依赖项,但它似乎没有获得依赖项。我还注意到虽然 ask-sdk-2.3.4 还应该包含 ask-sdk-core-2.3.4 所做的所有事情,因为后者在前者中被列为依赖项,但我必须包含 ask-sdk-core 的 jar单独文件,否则 Eclipse 无法识别某些类。我认为这意味着maven失败了,所以我直接从mvnrepository.com下载了jar。知道为什么会发生这种情况吗?
【问题讨论】:
标签: java maven alexa alexa-skills-kit