title: Dropwizard - Bound mismatch: not a valid substitute for the bounded parameter
body: <p>I am kickstarting dropwizard example application where I am implementing HelloWorldService. Below are the classes I have.</p>
  
  <p>But I am getting error </p>
  
  <blockquote>
    <p>Bound mismatch: The type TaskManagerConfiguration is not a valid
    substitute for the bounded parameter  of the
    type Application</p>
  </blockquote>
  
  <p>in TaskManagerApplication.java and in HelloWorldService.java classes.</p>
  
  <p>Can anyone help me on this?</p>
  
  <p>TaskManagerConfiguration.java</p>
  
  <pre><code>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;
     }
  }
  </code></pre>
  
  <p>HelloWorldService.java</p>
  
  <pre><code>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&lt;TaskManagerApplication&gt; {
  
     @Override
     public void initialize(Bootstrap&lt;TaskManagerApplication&gt; arg0) {
         // TODO Auto-generated method stub
  
     }
  
     @Override
     public void run(TaskManagerApplication arg0, Environment arg1)
          throws Exception {
         // TODO Auto-generated method stub
  
     }
  
  }
  </code></pre>
  
  <p>and TaskManagerApplication.java</p>
  
  <pre><code>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&lt;TaskManagerConfiguration&gt; {
  
     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&lt;TaskManagerConfiguration&gt; bootstrap) {
         // TODO: application initialization
     }
  
     @Override
     public void run(final TaskManagerConfiguration configuration,
                  final Environment environment) {
         // TODO: implement application
     }
  
  }
  </code></pre>