title: Failed to bind properties under 'spring.jackson.deserialization'
body: <p>When I start my project into deploy on Tomcat i get the error message</p>
  <blockquote>
  <p>Description: Failed to bind properties under
  'spring.jackson.deserialization' to
  java.util.Map&lt;com.fasterxml.jackson.databind.DeserializationFeature,
  java.lang.Boolean&gt;:
  Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.Map&lt;com.fasterxml.jackson.databind.DeserializationFeature, java.lang.Boolean&gt;] Action:</p>
  <p>Update your application's configuration</p>
  </blockquote>
  <p>my application.properties is empty</p>
  <p>project build by gradle.</p>
  <p>build.gradle</p>
  <pre><code>    plugins {
          id 'org.springframework.boot' version '2.3.2.RELEASE'
          id 'io.spring.dependency-management' version '1.0.9.RELEASE'
          id 'java'
          id 'war'
      }
      group = 'com.ladon'
      version = '0.0.1'
      sourceCompatibility = '11'
      repositories {
          mavenCentral()
      }
      dependencies {
          implementation 'org.springframework.boot:spring-boot-starter-web'
          implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
          runtimeOnly 'com.h2database:h2'
          runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
          runtimeOnly 'mysql:mysql-connector-java'
          runtimeOnly 'org.apache.derby:derby'
          runtimeOnly 'org.postgresql:postgresql'
      
          compileOnly 'org.projectlombok:lombok:1.18.12'
          annotationProcessor 'org.projectlombok:lombok:1.18.12'
          testCompileOnly 'org.projectlombok:lombok:1.18.12'
          testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'
          providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
          testImplementation('org.springframework.boot:spring-boot-starter-test') {
              exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
          }
      }
      
      test {
          useJUnitPlatform()
      }
  </code></pre>
  <pre><code>    package com.ladon.jsonserver;
      
      import org.springframework.boot.builder.SpringApplicationBuilder;
      import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
      
      public class ServletInitializer extends SpringBootServletInitializer {
      
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
          return application.sources(JsonserverApplication.class);
      }
      
      }
  </code></pre>
  <pre><code>
      package com.ladon.jsonserver;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication
      public class JsonserverApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(JsonserverApplication.class, args);
          }
      
      }
  
  </code></pre>
  <pre><code>
      package com.ladon.jsonserver.structure;
      
          import com.fasterxml.jackson.annotation.JsonIgnore;
          import com.fasterxml.jackson.annotation.JsonInclude;
          import com.fasterxml.jackson.annotation.JsonProperty;
          import com.fasterxml.jackson.annotation.JsonPropertyOrder;
          import lombok.Data;
          import java.util.HashMap;
          import java.util.List;
          import java.util.Map;
      
          @JsonInclude(JsonInclude.Include.NON_NULL)
          @JsonPropertyOrder({
              &quot;ACTIONS&quot;,
              &quot;EcrSN&quot;,
              &quot;Group&quot;,
              &quot;ErrorCode&quot;,
              &quot;ErrorCodeMessage&quot;
          })
          public @Data class DeviceStatusUpdateResponse {
      
              @JsonProperty(&quot;ACTIONS&quot;)
              private List&lt;DeviceStatusUpdateACTIONSResponse&gt; aCTIONS = null;
              @JsonProperty(&quot;EcrSN&quot;)
              private Integer ecrSN;
              @JsonProperty(&quot;Group&quot;)
              private String group;
              @JsonProperty(&quot;ErrorCode&quot;)
              private Integer errorCode;
              @JsonProperty(&quot;ErrorCodeMessage&quot;)
              private String errorCodeMessage;
              @JsonIgnore
              private Map&lt;String, Object&gt; additionalProperties = new HashMap&lt;String, Object&gt;();
      
              public DeviceStatusUpdateResponse() {
              }
      
      
          }
  
  </code></pre>
  <pre><code>
      package com.ladon.jsonserver.structure;
      
      
          import java.io.Serializable;
          import java.util.HashMap;
          import java.util.List;
          import java.util.Map;
          import com.fasterxml.jackson.annotation.JsonIgnore;
          import com.fasterxml.jackson.annotation.JsonInclude;
          import com.fasterxml.jackson.annotation.JsonProperty;
          import com.fasterxml.jackson.annotation.JsonPropertyOrder;
          import lombok.Data;
      
          @JsonInclude(JsonInclude.Include.NON_NULL)
          @JsonPropertyOrder({
              &quot;TypeId&quot;,
              &quot;Id&quot;,
              &quot;CreationTimestamp&quot;,
              &quot;ExecutionTimestamp&quot;,
              &quot;Note&quot;,
              &quot;DownloadURL&quot;,
              &quot;DeployType&quot;,
              &quot;NewEcrFwVersion&quot;,
              &quot;NewEcrFwVersionDescription&quot;,
              &quot;MD&quot;,
              &quot;CMD&quot;
          })
          public @Data class DeviceStatusUpdateACTIONSResponse implements Serializable {
      
              @JsonProperty(&quot;TypeId&quot;)
              private Integer typeId;
              @JsonProperty(&quot;Id&quot;)
              private Integer id;
              @JsonProperty(&quot;CreationTimestamp&quot;)
              private String creationTimestamp;
              @JsonProperty(&quot;ExecutionTimestamp&quot;)
              private String executionTimestamp;
              @JsonProperty(&quot;Note&quot;)
              private String note;
              @JsonProperty(&quot;DownloadURL&quot;)
              private String downloadURL;
              @JsonProperty(&quot;DeployType&quot;)
              private String deployType;
              @JsonProperty(&quot;NewEcrFwVersion&quot;)
              private Integer newEcrFwVersion;
              @JsonProperty(&quot;NewEcrFwVersionDescription&quot;)
              private String newEcrFwVersionDescription;
              @JsonProperty(&quot;MD&quot;)
              private String mD;
              @JsonProperty(&quot;CMD&quot;)
              private List&lt;DeviceStatusUpdateACTIONSCMDResponse&gt; cMD = null;
              @JsonIgnore
              private Map&lt;String, Object&gt; additionalProperties = new HashMap&lt;String, Object&gt;();
      
      
              public DeviceStatusUpdateACTIONSResponse() {
              }
      
              /**
           *
           * @param note
           * @param newEcrFwVersionDescription
           * @param newEcrFwVersion
           * @param mD
           * @param creationTimestamp
           * @param downloadURL
           * @param typeId
           * @param id
           * @param cMD
           * @param deployType
           * @param executionTimestamp
           */
              public DeviceStatusUpdateACTIONSResponse(Integer typeId, Integer id, String creationTimestamp, String executionTimestamp, String note, String downloadURL, String deployType, Integer newEcrFwVersion, String newEcrFwVersionDescription, String mD, List&lt;DeviceStatusUpdateACTIONSCMDResponse&gt; cMD) {
                  super();
                  this.typeId = typeId;
                  this.id = id;
                  this.creationTimestamp = creationTimestamp;
                  this.executionTimestamp = executionTimestamp;
                  this.note = note;
                  this.downloadURL = downloadURL;
                  this.deployType = deployType;
                  this.newEcrFwVersion = newEcrFwVersion;
                  this.newEcrFwVersionDescription = newEcrFwVersionDescription;
                  this.mD = mD;
                  this.cMD = cMD;
              }
          }
  
  </code></pre>
  <pre><code>
      package com.ladon.jsonserver.structure;
      
          import java.io.Serializable;
          import java.util.HashMap;
          import java.util.Map;
          import com.fasterxml.jackson.annotation.JsonIgnore;
          import com.fasterxml.jackson.annotation.JsonInclude;
          import com.fasterxml.jackson.annotation.JsonProperty;
          import com.fasterxml.jackson.annotation.JsonPropertyOrder;
          import lombok.Data;
      
      
          @JsonInclude(JsonInclude.Include.NON_NULL)
          @JsonPropertyOrder({
              &quot;CmdId&quot;,
              &quot;Commandd&quot;,
              &quot;Psw&quot;,
              &quot;Body&quot;,
              &quot;ExtendedDeviceStatus&quot;,
              &quot;OnlyIfPreviousOk&quot;,
              &quot;StateExe&quot;
          })
          public @Data class DeviceStatusUpdateACTIONSCMDResponse implements Serializable {
      
              @JsonProperty(&quot;CmdId&quot;)
              private Integer cmdId;
              @JsonProperty(&quot;Commandd&quot;)
              private String commandd;
              @JsonProperty(&quot;Psw&quot;)
              private Integer psw;
              @JsonProperty(&quot;Body&quot;)
              private String body;
              @JsonProperty(&quot;ExtendedDeviceStatus&quot;)
              private Integer extendedDeviceStatus;
              @JsonProperty(&quot;OnlyIfPreviousOk&quot;)
              private Boolean onlyIfPreviousOk;
              @JsonProperty(&quot;StateExe&quot;)
              private Integer stateExe;
              @JsonIgnore
              private Map&lt;String, Object&gt; additionalProperties = new HashMap&lt;String, Object&gt;();
      
              public DeviceStatusUpdateACTIONSCMDResponse() {
              }
              public DeviceStatusUpdateACTIONSCMDResponse(Integer cmdId, String commandd, Integer psw, String body, Integer extendedDeviceStatus, Boolean onlyIfPreviousOk, Integer stateExe) {
                  super();
                  this.cmdId = cmdId;
                  this.commandd = commandd;
                  this.psw = psw;
                  this.body = body;
                  this.extendedDeviceStatus = extendedDeviceStatus;
                  this.onlyIfPreviousOk = onlyIfPreviousOk;
                  this.stateExe = stateExe;
              }
          }
  
  </code></pre>
  <pre><code>
      package com.ladon.jsonserver.controller;
      
          import com.ladon.jsonserver.structure.DeviceStatusUpdateResponse;
          import org.springframework.http.HttpStatus;
          import org.springframework.http.MediaType;
          import org.springframework.web.bind.annotation.*;
      
          @RestController
          @RequestMapping(&quot;/RemoteControl&quot;)
          public class DeviceStatusUpdateResponseController {
      
              @ResponseBody
              @ResponseStatus(value = HttpStatus.OK)
              @RequestMapping(value = &quot;/UpdateDeviceStatus/{sernum}&quot;,produces = MediaType.APPLICATION_JSON_VALUE)
              public DeviceStatusUpdateResponse DeviceStatusUpdateResponse(@PathVariable(&quot;sernum&quot;) long sernum)
              {
                  DeviceStatusUpdateResponse device = new DeviceStatusUpdateResponse();
      
                  return device;
              }
          }
  
  </code></pre>
  <p>Where is my mistake?</p>