title: JsonIgnore and JsonProperty not behaving as I expect
body: <p>I have a simple class that I want to deserialize into JSON using Jackson.  I want to rename one field logically in my JSON and the other I want to have the same name as defined in my Java class.</p>
  
  <pre><code>  @JsonSerialize(include = Inclusion.NON_NULL)
  public static class Manifest {
  
    public Manifest(){
      this.files = new ArrayList&lt;String&gt;();
    }
  
    @JsonProperty("manifest-version")
    private String manifestVersion;
  
    private ArrayList&lt;String&gt; files; 
  
    @JsonIgnore
    public String getManifestVersion() {
      return manifestVersion;
    }
  
    @JsonIgnore
    public void setManifestVersion(String manifestVersion) {
      this.manifestVersion = manifestVersion;
    }
  
    public ArrayList&lt;String&gt; getFiles() {
      return files;
    }
  
    public void setFiles(ArrayList&lt;String&gt; files) {
      this.files = files;
    }
    public void addFile(String file) {
      this.files.add(file);
    }
  
  }
  </code></pre>
  
  <p>I'm expecting the @JsonIgnore for the getter/setter to cause manifestVersion to not become a JSON property (But should create a JSON property for manifest-version, where I have the @JsonProperty defined.</p>
  
  <p>Expected output is
      {
          "manifest-version" : "2.0"
      }
  Actual output is
      {
          "manifest-version" : "2.0",
          "manifestVersion":"2.0"
      }</p>
  
  <p>Any help would be appreciated.</p>