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 的任务 replaceregexp 从 trim
数组中删除所有出现的文本。
Chapeau 持续集成! :-)
当我通过 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 的任务 replaceregexp 从 trim
数组中删除所有出现的文本。
Chapeau 持续集成! :-)