[ https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17120761#comment-17120761 ]
Matthew Foley commented on HBASE-24482: --------------------------------------- Interesting, grepping the branch-2.3 of HBase, I see the poms do _not_ mention edu.umd.cs.findbugs.annotations, and _do_ mention javax.annotation. BUT there are still scads of uses of edu.umd.cs.findbugs.annotations in java files. The tag 2.1.6RC1 has the same behavior. So I infer that the edu.umd.cs.findbugs.annotations package was being pulled in by an indirect dependency, and either an assembly or a shadowing somewhere along the line changed since 2.1.6. > [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to > missing edu.umd.cs.findbugs.annotations dependency > ---------------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-24482 > URL: https://issues.apache.org/jira/browse/HBASE-24482 > Project: HBase > Issue Type: Bug > Components: hbase-operator-tools > Affects Versions: hbase-operator-tools-1.1.0 > Reporter: Matthew Foley > Priority: Major > Attachments: HBASE-24482_compile_error.log > > > If we do a local build of the current HBase branch-2.3 as version > 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, > then attempt to build hbase-operator-tools master branch, with > -Dhbase.version=2.3.0-SNAPSHOT, > the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile > with error: "package edu.umd.cs.findbugs.annotations does not exist", > followed by multiple instances of missing "symbol: class Nullable". (A > longer log extract is attached.) > It would appear the default HBase version 2.1.6 made this dependency package > available in some manner, but the newer HBase does not. > If the @Nullable annotation is still needed, it may be sufficient to simply > add it to the hbase-operator-tools pom.xml file, so maven will load it. > However, it is actually deprecated in the current documentation for > edu.umd.cs.findbugs.annotations. Various commentary online suggest that we > should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see > eg > * > [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use] > Does anyone know if that was HBase's approach? -- This message was sent by Atlassian Jira (v8.3.4#803005)