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

Mar*_*och 7 android android-studio jsonschema2pojo java-annotations

当我通过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 {
    //...
}
Run Code Online (Sandbox Code Playgroud)

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

import javax.annotation.Generated;
Run Code Online (Sandbox Code Playgroud)

@Generated("org.jsonschema2pojo")
Run Code Online (Sandbox Code Playgroud)

形成每一个POJO,这是一种痛苦.有没有办法压制http://www.jsonschema2pojo.org/添加该注释?

Lal*_*alo 6

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

compile 'org.glassfish:javax.annotation:10.0-b28'
Run Code Online (Sandbox Code Playgroud)

然后重建项目.那应该解决它.


Tom*_*iak 5

您始终可以要求 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')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Chapeau bas 持续集成!:-)