How do I add javax.annotation.Generated to Java SE

2019-02-17 12:39发布

问题:

I'm working on a project that has to run on Java SE 5 and Java SE 6. I recently started using a tool that adds @Generated annotations to generated code, and I want to keep those annotations. It looks like javax.annotation.Generated is in Java 5 EE and Java 6 SE and later, but is not in the Java 5 SE API.

What's the best way to include javax.annotation.Generated when I send it to the customer, so it will run on both Java SE 5 and Java SE 6 without any problems? Do I just need to include an extra jarfile? If so, which one does @Generated live in?

回答1:

You can get javax.annotation.Generated, along with various other classes from that package, from the Maven central repo at this location. You can just download the JARs, you don't need to use Maven to get them.

Answer courtesy of GrepCode.



回答2:

According to javax.annotation.Generated javadoc, its retention is Source, so the annotation won't be compiled to your classes (and result classes with and without this annotation are the same). So your customers never need any jar file containing this annotation, as long as you distribute compiled classes.



回答3:

You can just comment them, they are retained only on the source level.