michalcukierman commented on issue #21297:
URL: https://github.com/apache/pulsar/issues/21297#issuecomment-2453087138

   Without tomcat annotations-api, the exception is thrown on runtime:
   
   ```log
   2024-11-02 19:13:51 INFO exec -a "java" java -XX:MaxRAMPercentage=80.0 
-XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 
-XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:+ExitOnOutOfMemoryError 
-Dquarkus.http.host=0.0.0.0 
-Djava.util.logging.manager=org.jboss.logmanager.LogManager -cp "." -jar 
/deployments/quarkus-run.jar 
   2024-11-02 19:13:51 INFO running in /deployments
   2024-11-02 19:13:51 __  ____  __  _____   ___  __ ____  ______ 
   2024-11-02 19:13:51  --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
   2024-11-02 19:13:51  -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
   2024-11-02 19:13:51 --\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
   2024-11-02 19:13:51 2024-11-02 18:13:51,648 WARN  [io.qua.config] (main) 
Unrecognized configuration key "quarkus.http.host" was provided; it will be 
ignored; verify that the dependency extension for this configuration is set or 
that you did not make a typo
   2024-11-02 19:13:51 2024-11-02 18:13:51,738 INFO  
[dev.str.pul.ini.PulsarInitializer] (main) Starting Pulsar initialization
   2024-11-02 19:13:51 2024-11-02 18:13:51,766 ERROR [io.qua.run.Application] 
(main) Failed to start application: java.lang.RuntimeException: Failed to start 
quarkus
   2024-11-02 19:13:51     at io.quarkus.runner.ApplicationImpl.doStart(Unknown 
Source)
   2024-11-02 19:13:51     at 
io.quarkus.runtime.Application.start(Application.java:101)
   2024-11-02 19:13:51     at 
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
   2024-11-02 19:13:51     at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
   2024-11-02 19:13:51     at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
   2024-11-02 19:13:51     at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
   2024-11-02 19:13:51     at io.quarkus.runner.GeneratedMain.main(Unknown 
Source)
   2024-11-02 19:13:51     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   2024-11-02 19:13:51     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
   2024-11-02 19:13:51     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   2024-11-02 19:13:51     at 
java.base/java.lang.reflect.Method.invoke(Method.java:568)
   2024-11-02 19:13:51     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
   2024-11-02 19:13:51     at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
   2024-11-02 19:13:51 Caused by: java.lang.NoClassDefFoundError: 
javax/annotation/Priority
   2024-11-02 19:13:51     at 
org.glassfish.jersey.JerseyPriorities.getPriorityValue(JerseyPriorities.java:48)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.model.internal.CommonConfig$FeatureRegistration.priority(CommonConfig.java:133)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.model.internal.CommonConfig$FeatureRegistration.<init>(CommonConfig.java:118)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.model.internal.CommonConfig$FeatureRegistration.<init>(CommonConfig.java:106)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.model.internal.CommonConfig.processFeatureRegistration(CommonConfig.java:505)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.model.internal.CommonConfig.register(CommonConfig.java:412)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.client.ClientConfig$State.register(ClientConfig.java:217)
   2024-11-02 19:13:51     at 
org.glassfish.jersey.client.ClientConfig.register(ClientConfig.java:616)
   2024-11-02 19:13:51     at 
org.apache.pulsar.client.admin.internal.PulsarAdminImpl.<init>(PulsarAdminImpl.java:133)
   2024-11-02 19:13:51     at 
org.apache.pulsar.client.admin.internal.PulsarAdminBuilderImpl.build(PulsarAdminBuilderImpl.java:45)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer.init(PulsarInitializer.java:56)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_Bean.doCreate(Unknown Source)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_Bean.create(Unknown Source)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_Bean.create(Unknown Source)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
   2024-11-02 19:13:51     at 
io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.c1(Unknown
 Source)
   2024-11-02 19:13:51     at 
io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.computeIfAbsent(Unknown
 Source)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_ClientProxy.arc$delegate(Unknown 
Source)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_ClientProxy.arc_contextualInstance(Unknown
 Source)
   2024-11-02 19:13:51     at 
dev.streamx.pulsar.init.PulsarInitializer_Observer_Synthetic_dU_lJeM9CzqEdv-Hh8KHZ1SYvpE.notify(Unknown
 Source)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:333)
   2024-11-02 19:13:51     at 
io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
   2024-11-02 19:13:51     at 
io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:156)
   2024-11-02 19:13:51     at 
io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:107)
   2024-11-02 19:13:51     at 
io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown
 Source)
   2024-11-02 19:13:51     at 
io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown
 Source)
   2024-11-02 19:13:51     ... 13 more
   2024-11-02 19:13:51 Caused by: java.lang.ClassNotFoundException: 
javax.annotation.Priority
   2024-11-02 19:13:51     at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
   2024-11-02 19:13:51     at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
   2024-11-02 19:13:51     at 
java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
   2024-11-02 19:13:51     at 
io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:114)
   2024-11-02 19:13:51     at 
io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:72)
   2024-11-02 19:13:51     ... 44 more
   2024-11-02 19:13:51 
   2024-11-02 19:13:51 Exception in thread "Shutdown thread" 
java.lang.NullPointerException: Cannot invoke 
"io.quarkus.runtime.Application.isStarted()" because "app" is null
   2024-11-02 19:13:51     at 
io.quarkus.runtime.ApplicationLifecycleManager$ShutdownHookThread.run(ApplicationLifecycleManager.java:455)
   ```
   
   This is happening, because `annotation-api` is banned. The mechanism is 
explained here:
   https://quarkus.io/guides/class-loading-reference#banned-dependencies
   
   I don't argue with the reasoning. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to