Reputation: 9113
When I generate POJOs via http://www.jsonschema2pojo.org/ I get something like this:
import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
@Generated("org.jsonschema2pojo")
public class Name {
//...
}
But Android Studio does not recognize javax.annotation.Generated
and I have to remove two lines of code
import javax.annotation.Generated;
and
@Generated("org.jsonschema2pojo")
form every POJO and this is a pain. Is there a way to suppress http://www.jsonschema2pojo.org/ from adding that annotation?
Upvotes: 8
Views: 4736
Reputation: 51
Java Project: Following above doc, This config doesn't include generated annotation at all.
GenerationConfig config = new DefaultGenerationConfig() {
@Override
public boolean isIncludeGeneratedAnnotation() {
return false;
} }
Upvotes: 0
Reputation: 2915
You can always ask Gradle to remove redundant lines before compilation (automatically for you):
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')
}
}
}
Above script uses Ant's task replaceregexp to remove all occurrences of texts from trim
array.
Chapeau bas continuous integration! :-)
Upvotes: 6
Reputation: 118
If you are using Gradle, go to your build.gradle file inside your 'app/' folder, and inside dependencies {...} add:
compile 'org.glassfish:javax.annotation:10.0-b28'
Then rebuild the project. That should fix it.
Upvotes: 8