Eric Yang created HADOOP-16463:
----------------------------------

             Summary: Migrate away from jsr305 jar
                 Key: HADOOP-16463
                 URL: https://issues.apache.org/jira/browse/HADOOP-16463
             Project: Hadoop Common
          Issue Type: Bug
            Reporter: Eric Yang


JSR305 defines several annotations that is prefixed with javax packages.  
"javax.annotation.Nullable" is also used by findbugs to suppress code style 
warnings.  "javax" is a reserved package name according to Oracle license 
agreement.  Application can not use and ship these dependencies along with a 
JRE without violating the Oracle licence agreement.  From JDK 9 and newer, 
[SecurityException|http://blog.anthavio.net/2013/11/how-many-javaxannotation-jars-is-out.html]
 would be thrown for attempt to run signed code JSR250 + JSR305.

Many developers have look for solution to address [JSR305 annotation 
issue|https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use],
 but there is no good solution at this time.  One possible solution is to use 
findbugsExcludeFile.xml to define the actual suppression and this will allow 
Hadoop to ship without jsr305 dependency.

See other references:
[Guava jsr305 issue|https://github.com/google/guava/issues/2960]
[HBase jsr305 issue|https://issues.apache.org/jira/browse/HBASE-16321]

This looks like a issue that needs to be addressed if we want to work in newer 
version of Java environment.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to