jsonschema2pojo 生成的 POJO 具有 Android Studio 无法理解的注释

POJOs generated by jsonschema2pojo have annotation which Android Studio doesn't understand

当我通过 http://www.jsonschema2pojo.org/ 生成 POJO 时,我得到如下信息:

import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

@Generated("org.jsonschema2pojo")
public class Name {
    //...
}

但是Android Studio 无法识别javax.annotation.Generated,我必须删除两行代码

import javax.annotation.Generated;

@Generated("org.jsonschema2pojo")

形成每个 POJO,这很痛苦。有没有办法禁止 http://www.jsonschema2pojo.org/ 添加该注释?

如果您使用的是 Gradle,请转到 'app/' 文件夹中的 build.gradle 文件,然后在依赖项 {...} 中添加:

compile 'org.glassfish:javax.annotation:10.0-b28'

然后重建项目。这应该可以解决它。

你总是可以要求Gradle在编译前删除多余的行(自动为你):

task cleanupPojo {
    def trim = [
        '.*org.jsonschema2pojo.*',
        'import javax.annotation.Generated;'
    ]

    for(def text: trim) {
        ant.replaceregexp(match: text, replace: '', flags: 's', byline: true) {
            fileset(dir: 'src', includes: '**/*.java')
        }
    }
}

以上脚本使用 Ant 的任务 replaceregexptrim 数组中删除所有出现的文本。

Chapeau 持续集成! :-)