POJOs, сгенерированный jsonschema2pojo, имеет аннотацию, которую Android Studio не понимает

когда я генерирую POJOs через http://www.jsonschema2pojo.org/ я получаю что-то вроде этого:

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/ от добавления этой аннотации?

2 ответов


Если вы используете Gradle, перейдите к своей сборке.gradle файл внутри папки "app/" и внутри зависимостей {...} добавить:

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')
        }
    }
}

выше скрипт использует задачу муравья replaceregexp удалить все вхождения текста из trim массив.

вводная часть bas непрерывная интеграция! :-)