[ 
https://issues.apache.org/jira/browse/HBASE-30328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-30328:
------------------------------
    Status: Patch Available  (was: Open)

> Missing javax.annotation dependency causes webui start up error when building 
> with hadoop2
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-30328
>                 URL: https://issues.apache.org/jira/browse/HBASE-30328
>             Project: HBase
>          Issue Type: Bug
>          Components: dependencies, hadoop2, monitoring
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.7.0, 2.6.7, 2.5.16
>
>
> {noformat}
> 2026-08-06T06:55:17,193 ERROR [main] regionserver.HRegionServer: Failed 
> construction RegionServer
> java.lang.NoClassDefFoundError: javax/annotation/Priority
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.model.internal.ComponentBag.modelFor(ComponentBag.java:529)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.model.internal.ComponentBag.lambda$registerModel$10(ComponentBag.java:454)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:292)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:274)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.internal.Errors.process(Errors.java:205)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.model.internal.ComponentBag.registerModel(ComponentBag.java:446)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.model.internal.ComponentBag.register(ComponentBag.java:283)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.model.internal.CommonConfig.register(CommonConfig.java:411)
>       at 
> org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:402)
>       at 
> org.apache.hadoop.hbase.master.http.api_v1.ResourceConfigFactory.createResourceConfig(ResourceConfigFactory.java:48)
>       at 
> org.apache.hadoop.hbase.master.HMaster.buildApiV1Servlet(HMaster.java:771)
>       at 
> org.apache.hadoop.hbase.master.HMaster.configureInfoServer(HMaster.java:761)
>       at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.putUpWebUI(HRegionServer.java:2501)
>       at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:745)
>       at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:487)
>       at 
> org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:322)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at 
> org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:124)
>       at 
> org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:222)
>       at 
> org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:169)
>       at 
> org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:112)
>       at 
> org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:241)
>       at 
> org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:147)
>       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
>       at 
> org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:140)
>       at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3479)
> Caused by: java.lang.ClassNotFoundException: javax.annotation.Priority
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
>       ... 29 more
> {noformat}
> Jersey depends on javax.annotation.Priority, which is not include in JDK8's 
> javax annotations, so even for JDK8, we need to pull in javax.annotation by 
> our own.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to