Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.6.4
-
None
Description
It looks like a
compile "javax.annotation:javax.annotation-api:1.3.2"
is missing for < 5.7 in ioc build.gradle, but I have to make sure the error isn't on my side.
Usually the dependency (or an equivalent) is pulled by other dependencies, but I started a new ioc/core non-web-app with minimal dependencies, and it crashes on startup:
2021-04-24 11:49:05,903: ERROR [org.apache.tapestry5.ioc.Registry]: javax/annotation/PostConstruct 2021-04-24 11:49:05,903: ERROR [org.apache.tapestry5.ioc.Registry]: Operations trace: 2021-04-24 11:49:05,903: ERROR [org.apache.tapestry5.ioc.Registry]: [ 1] Creating non-proxied instance of service ServiceConfigurationListenerHub 2021-04-24 11:49:05,903: ERROR [org.apache.tapestry5.ioc.Registry]: [ 2] Creating plan to instantiate org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub via public org.apache.tapestry5.ioc.services.ServiceConfigurationListenerHub(java.util.List) Exception in thread "main" java.lang.NoClassDefFoundError: javax/annotation/PostConstruct at org.apache.tapestry5.ioc.internal.util.InternalUtils.extendPlanForPostInjectionMethods(InternalUtils.java:1502) at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$300(InternalUtils.java:50) at org.apache.tapestry5.ioc.internal.util.InternalUtils$20.invoke(InternalUtils.java:1382) at org.apache.tapestry5.ioc.internal.util.InternalUtils$20.invoke(InternalUtils.java:1366) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1265) at org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1363) at org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52) at org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:62) at org.apache.tapestry5.ioc.internal.ModuleImpl$4.invoke(ModuleImpl.java:295) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1265) at org.apache.tapestry5.ioc.internal.ModuleImpl.create(ModuleImpl.java:344) at org.apache.tapestry5.ioc.internal.ModuleImpl.access$100(ModuleImpl.java:40) at org.apache.tapestry5.ioc.internal.ModuleImpl$1.invoke(ModuleImpl.java:198) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:139) at org.apache.tapestry5.ioc.internal.ModuleImpl$2.invoke(ModuleImpl.java:215) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83) at org.apache.tapestry5.ioc.internal.ModuleImpl.findOrCreate(ModuleImpl.java:221) at org.apache.tapestry5.ioc.internal.ModuleImpl.getService(ModuleImpl.java:112) at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:497) at org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAlone(RegistryImpl.java:788) at org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAndMarkers(RegistryImpl.java:802) at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:760) at org.apache.tapestry5.ioc.internal.RegistryImpl.<init>(RegistryImpl.java:212) at org.apache.tapestry5.ioc.RegistryBuilder.build(RegistryBuilder.java:181) at org.apache.tapestry5.internal.TapestryAppInitializer.createRegistry(TapestryAppInitializer.java:173) at net.netzgut.integral.starter.IntegralStarter.startRegistry(IntegralStarter.java:201) at net.netzgut.integral.starter.IntegralStarter.start(IntegralStarter.java:102) at App.main(App.java:12) Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 32 more