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 непрерывная интеграция! :-)