我正在尝试用Java编译Google Cloud Endpoints项目,但是我收到以下错误:
运行端点命令时发生错误命令get-client-lib:不支持对象类型K。
我的任何API类中都没有任何公共方法可以接受或返回泛型类型(K
或其他类型),也没有任何专门命名为K
的类。根据文档的定义,我的身体类型应该都是实体类型。
我最近做出的最大改变是我将我的模型(定义实体类型)移动到一个单独的项目中,并将这些类作为JAR依赖项包含在内。
我在App Engine SDK版本1.9.51(最近升级到此版本),但使用以前的版本似乎没有任何改变。我正在使用Gradle gradle-appengine-plugin(最终计划迁移到较新的app-gradle-plugin)。
有关为何发生这种情况的任何想法,以及我可能采取哪些措施来解决这个问题?
修改
我似乎已经解决了这个问题,但它还没有解决问题。
我的API中有一个list方法,它返回一个包含其他对象列表的对象。类似的东西:
public class ListWrapper() implements Serializable {
private List<Object> list;
public List<Object> getList() { return list; }
public void setList(List<Object> list) { this.list = list; }
}
这个List类型似乎突然成了问题。如果我从课程中删除它,它工作正常。如果我编辑该方法以返回其他内容,它可以正常工作。但是,在以前版本的代码中,此LsitWrapper
对象存在并且完全按原样返回并且工作正常。发生了什么变化? (恢复到早期版本的App Engine SDK似乎没有帮助。)