- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 GUICE 进行依赖项注入(inject),以使用 Dropwizard 构建 RESTful API。这是我收到的错误:
com.google.inject.ConfigurationException: Guice configuration errors:
1) Could not find a suitable constructor in com.api.analytics.visitor.web.VisitorParams. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private. at com.api.analytics.visitor.web.VisitorParams.class(VisitorParams.java:27) while locating com.api.analytics.visitor.web.VisitorParams for parameter 0 at com.api.analytics.visitor.web.v1.VisitorResource.(VisitorResource.java:68) while locating com.api.analytics.visitor.web.v1.VisitorResource
以下是我的资源的设置方式:
package com.api.analytics.visitor.web.v1;
//imports
@Path("/visitor")
@Produces({MediaType.APPLICATION_JSON, ExtraMediaTypes.PROTOBUF})
@Consumes(MediaType.APPLICATION_JSON)
public class VisitorResource {
private final ContactsManager contactsManager;
private final ActivityFetcher.Provider activityFetcherProvider;
private final VisitSourceMapper visitSourceMapper;
private final TimeZoneClient timeZoneClient;
private final GatesClient gatesClient;
private final Value<Integer> smallScanLimit;
private final Provider<Integer> portalIdProvider;
private final VisitorParams visitorParams;
@Inject
public VisitorResource(@Bind({Bind.Params.QUERY}) VisitorParams visitorParams,
ContactsManager contactsManager,
ActivityFetcher.Provider activityFetcherProvider,
VisitSourceMapper visitSourceMapper,
TimeZoneClient timeZoneClient,
GatesClient gatesClient,
@Named("analytics.activities.fetch.small.scan.limit") Value<Integer> smallScanLimit,
@StashedHubId Provider<Integer> portalIdProvider) {
this.contactsManager = contactsManager;
this.activityFetcherProvider = activityFetcherProvider;
this.visitSourceMapper = visitSourceMapper;
this.timeZoneClient = timeZoneClient;
this.gatesClient = gatesClient;
this.smallScanLimit = smallScanLimit;
this.portalIdProvider = portalIdProvider;
this.visitorParams = visitorParams;
}
@Timed
@GET
@Path("/{identity}/activities")
public List<Activity> getActivitiesGet(@PathParam("identity") String identity) throws Exception {
return getActivities(identity);
}
//other methods
}
这是我的 VisitorParams
类:
package com.api.analytics.visitor.web;
//imports
public class VisitorParams {
private final Optional<Long> start;
private final Optional<Long> end;
private final Set<ActivityType> activityTypes;
private final Optional<Integer> limit;
private final boolean reversed;
private final Set<Long> vids;
@JsonCreator
public VisitorParams (@JsonProperty("start") Optional<Long> start,
@JsonProperty("end") Optional<Long> end,
@JsonProperty("type") Optional<Set<ActivityType>> activityTypes,
@JsonProperty("limit") Optional<Integer> limit,
@JsonProperty("reversed") @DefaultValue("false") boolean reversed,
@JsonProperty("vid") Optional<Set<Long>> vids) {
this.start = start;
this.end = end;
this.activityTypes = activityTypes.or(Collections.emptySet());
this.limit = limit;
this.reversed = reversed;
this.vids = vids.or(Collections.emptySet());
}
public Optional<Long> getStart() {
return this.start;
}
//other getters
}
我尝试过的一件事是在我的 VisitorParams
类中添加一个构造函数,如下所示:
public VisitorParams () {}
当我这样做时,我收到有关某些变量可能尚未初始化的错误。
那么我在这里做错了什么导致这个配置错误?我对使用 Guice 和 Dropwizard 还很陌生,所以如果您需要任何其他信息,请告诉我。谢谢!
最佳答案
阅读消息:VisitorParams
没有零参数构造函数,或用 @Inject
注解的构造函数。
将@Inject
添加到构造函数:
@Inject
@JsonCreator
public VisitorParams ( ...
关于java - Guice配置错误: Could not find a suitable constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583554/
我一直遇到 mySQL 数据库连接问题。我收到一个错误: No suitable driver found for jdbc:mysql://127.0.0.1/sakila. 我已经安装了 mySQ
我正在尝试编写一个带有嵌入式 Derby 的程序,但是当我运行它时,它显示: run: Jul 14, 2017 9:19:54 PM gfdh.Login Doconnect SEVERE: nul
我正在尝试在转换 String 的 List 后对 Integer 的 List 进行排序转换为Integer List。它给了我这个错误: no suitable method found for
我能够很好地部署我的 war ,当我尝试运行它时,我在控制台日志中收到一些运行时错误 Cannot create JDBC driver of class 'oracle.jdbc.OracleDri
我正在开始 Android 编程。我无法编译我的程序,因为出现以下错误: 错误:没有找到适合 ArrayAdapter() 的构造函数 这是我的个人适配器: public class StationL
我正在尝试解码 Base64 图像并将其放入 WPF 图像源中。但是,我使用的代码有一个错误: No imaging component suitable to complete this opera
我在客户端和服务器上都设置了使用 Jaxb2 的 MarshallingMessageConverter 关注 this问题。 这是在服务器端: @Configuration @EnableWebMv
我们正在将 Struts 1.2 项目从 JDK 1.6 迁移到 1.8,并将应用程序服务器 jboss5.1 迁移到 tomcat 8.5。所以我们开始将 JNDI 数据源链接到 tomcat,但似
我是 java 新手,正在尝试为 Minecraft 制作模组,但我不知道如何修复此错误: src\minecraft\net\minecraft\src\ThreadConnectToServer.
我最近一直在做一个项目,在这个项目中我最终使用了一个扩展另一个类(即连接和传输)的类。我收到的错误是“错误:没有找到适合 Connection 的构造函数(无参数)”。错误是在 Transfer 中构
我正在尝试使用 JDBC 接收器连接器将 Kafka 与 Postgres 接收器结合使用。 异常: INFO Unable to connect to database on attempt 1/3
这个问题已经有答案了: Connect Java to a MySQL database (14 个回答) 已关闭 6 年前。 java.sql.SQLException: No suitable d
我正在制作一个简单的注册程序,当我单击“提交”到我的 IDE 日志时,我收到此错误: java.sql.SQLException: No suitable driver found for jdbc:
我在使用 java 和 jdbc 时遇到了一些问题。特别是,虽然我的代码在 NetBeans 项目中完美运行,但当我尝试在终端或 ubuntu vps(这是我需要它工作的地方)上执行它时,我总是遇到此
我有一个带有图像 uploader 的网站,每当用户尝试上传图像时,他们都会收到此错误消息: “没有合适的节点可以满足您的请求。” 我已经联系了托管公司(mosso),他们说这对他们来说没什么。知道导
美好的一天! 我知道有很多关于此类问题的帖子,但由于我使用的是嵌入式 Derby,所以我查看了其中一些帖子但找不到问题的答案。 我收到这个错误: ##THIS IS GENERATED BY THE
我正在编写一个必须调用休息服务的 spring mvc 应用程序(Spring 新手)。我在我的 VM(Linux 中的 weblogic 10.3.6)中部署了其余服务,我正在编写的应用程序在我的本
我正在使用 GUICE 进行依赖项注入(inject),以使用 Dropwizard 构建 RESTful API。这是我收到的错误: com.google.inject.ConfigurationE
您好!终于开始学习 C,我认为是时候开始使用调试器了。此时我使用 Gvim 作为编辑器,使用命令行进行编译。在尝试了几个调试器(KDbg、ddd、insight)之后,运行 gdb 似乎是目前最简单和
我正在实现他们文档中给出的 firebase 示例。我面临这个错误: com.fasterxml.jackson.databind.JsonMappingException: No suitable
我是一名优秀的程序员,十分优秀!