当前位置: 首页 > 知识库问答 >
问题:

Dropwizard绑定不匹配:不是绑定参数的有效替代

充运浩
2023-03-14

我正在启动dropwizard示例应用程序,在此实现HelloWorldService。下面是我上的课。

但我犯了错误

绑定不匹配:TaskManagerConfiguration类型不能有效替代类型应用程序的绑定参数

package com.nagra.taskManager.config;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.yammer.dropwizard.config.Configuration;

import org.hibernate.validator.constraints.*;

public class TaskManagerConfiguration extends Configuration {

   @NotEmpty
   @JsonProperty
   private String template;

   @NotEmpty
   @JsonProperty
   private String defaultName = "Stranger";

   public String getTemplate() {
       return template;
   }

   public String getDefaultName() {
       return defaultName;
   }
}
package com.nagra.taskManager.resources.service;

import com.nagra.taskManager.TaskManagerApplication;
import com.yammer.dropwizard.Service;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Environment;

public class HelloWorldService extends Service<TaskManagerApplication> {

   @Override
   public void initialize(Bootstrap<TaskManagerApplication> arg0) {
       // TODO Auto-generated method stub

   }

   @Override
   public void run(TaskManagerApplication arg0, Environment arg1)
        throws Exception {
       // TODO Auto-generated method stub

   }

}

和TaskManagerApplication.java

package com.nagra.taskManager;

import com.nagra.taskManager.config.TaskManagerConfiguration;

import io.dropwizard.Application;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;

public class TaskManagerApplication extends Application<TaskManagerConfiguration> {

   public static void main(final String[] args) throws Exception {
       new TaskManagerApplication().run(args);
   }

   @Override
   public String getName() {
       return "TaskManager";
   }

   @Override
   public void initialize(final Bootstrap<TaskManagerConfiguration> bootstrap) {
       // TODO: application initialization
   }

   @Override
   public void run(final TaskManagerConfiguration configuration,
                final Environment environment) {
       // TODO: implement application
   }

}

共有1个答案

韩征
2023-03-14

很少的东西-

>

  • 确保configuration类是从io.dropwizard.configuration导入的,而不是当前使用的`com.yammer.dropwizard.config.configuration;在您的TaskManagerConfiguration.java中。

    如果您查看dropwizard中的发行说明,com.yammer.dropwizard.service0.6.2dropwizard之前的版本中使用了com.yammer.dropwizard.service,并且该版本已被移到imporio.dropwizard.application;。因此,目前您的TaskManagerApplication可以用作该应用程序运行的主类。

  •  类似资料: