English 中文(简体)
Findbugs Annotations - Do I need annotation.jar and jsr305.jar in my deployed code?
原标题:

So, I would like to use the findbugs annotations to suppress warnings we deem ok code.

Do we need to deploy the annotation.jar and jsr305.jar into our production runtime, or do we only need these jars in the classpath for our Eclipse project and our unix build environment?

问题回答

Annotations have varying retention policies:

  • SOURCE - not in class file, discarded by the compiler (would not be needed at runtime)
  • CLASS - in the class file, but the VM can throw them away
  • RUNTIME - available for reflection at runtime

Logic would indicate that SOURCE retention annotations would not be needed at runtime, CLASS should not, and RUNTIME must be available.

A quick glance at the JSR 305 annotations indicates that they use the RUNTIME retention policy (example), which indicates to me that these jars would indeed be needed to load the classes at runtime to satisfy the annotation contract.

But I haven t actually tested this myself.

Per my related question, you normally won t run into any problems if these annotations aren t present at runtime, even though some of them do have @Retention(RUNTIME).





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签