You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Jeff Tang (Jira)" <ji...@apache.org> on 2021/11/23 10:18:00 UTC
[jira] [Created] (RANGER-3523) Ranger Presto plugin start throw NoClassFound Error
Jeff Tang created RANGER-3523:
---------------------------------
Summary: Ranger Presto plugin start throw NoClassFound Error
Key: RANGER-3523
URL: https://issues.apache.org/jira/browse/RANGER-3523
Project: Ranger
Issue Type: Bug
Components: plugins
Affects Versions: 2.0.0
Environment: prestosql version:310
Ranger version:2.0.0
Reporter: Jeff Tang
when installed & enable the presto plugin , start presto throw NoClassFound exception which point to Ranger RangerSystemAccessControlFactory:
2021-11-23T08:20:26.345Z ERROR main io.prestosql.server.Server javax/annotation/PostConstruct
java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at io.airlift.bootstrap.LifeCycleMethods.addLifeCycleMethods(LifeCycleMethods.java:65)
at io.airlift.bootstrap.LifeCycleMethods.<init>(LifeCycleMethods.java:39)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at io.airlift.bootstrap.LifeCycleMethodsMap.get(LifeCycleMethodsMap.java:27)
at io.airlift.bootstrap.LifeCycleModule.isLifeCycleClass(LifeCycleModule.java:88)
at io.airlift.bootstrap.LifeCycleModule.access$000(LifeCycleModule.java:39)
at io.airlift.bootstrap.LifeCycleModule$1.lambda$hear$0(LifeCycleModule.java:57)
at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:131)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:117)
at com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:245)
at com.google.inject.internal.Initializer.injectAll(Initializer.java:140)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:176)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
at com.google.inject.Guice.createInjector(Guice.java:87)
at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:240)
at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControlFactory.create(RangerSystemAccessControlFactory.java:53)
Ranger project's pom has contains the relevant jsr annotation dependence :
find ./ -name "*.jar"|xargs grep -i PostConstruct
Binary file ./target/ranger-2.1.1-SNAPSHOT-presto-plugin/lib/javax.annotation-api-1.3.2.jar matches
--
This message was sent by Atlassian Jira
(v8.20.1#820001)