eclipse-ee4j / glassfish

Eclipse GlassFish
https://eclipse-ee4j.github.io/glassfish/
386 stars 145 forks source link

Many TLD warnings during EAR deployment #25197

Open avp75777 opened 1 month ago

avp75777 commented 1 month ago

Environment Details


Problem Description

While deploying an EAR containing 1 ejbmodule(jar), 2 webmodules(war) and a few external jars(storing in a /lib subdirectory) ear I faced a lot of warnings about missing jars that really are not used by my EAR, such as following: PWC6351: In TLD scanning, the supplied resource file:/C:/NetBeansProjects/TBSEnterpriseApplication/tbsear/target/gfdeploy/tbsear/lib/istack-commons-runtime-4.1.2.jar does not exist java.nio.file.NoSuchFileException: C:\NetBeansProjects\TBSEnterpriseApplication\tbsear\target\gfdeploy\tbsear\lib\istack-commons-runtime-4.1.2.jar at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:53) at java.base/sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:38) at java.base/sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:197) at java.base/java.nio.file.Files.readAttributes(Files.java:1853) at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1445) at java.base/java.util.zip.ZipFile$CleanableResource.(ZipFile.java:724) at java.base/java.util.zip.ZipFile.(ZipFile.java:251) at java.base/java.util.zip.ZipFile.(ZipFile.java:180) at java.base/java.util.jar.JarFile.(JarFile.java:345) at java.base/sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:100) at java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) at java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:192) at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:109) at java.base/sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:70) at org.glassfish.wasp.runtime.TldScanner.scanJar(TldScanner.java:560) at org.glassfish.wasp.runtime.TldScanner.scanJars(TldScanner.java:458) at org.glassfish.wasp.runtime.TldScanner.scanTlds(TldScanner.java:269) at org.glassfish.wasp.runtime.TldScanner.onStartup(TldScanner.java:193) at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:4585) at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:633) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489) at com.sun.enterprise.web.WebModule.start(WebModule.java:547) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:935) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:917) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:653) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1795) at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1483) at com.sun.enterprise.web.WebApplication.start(WebApplication.java:88) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:97) at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:278) at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:344) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:533) at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:405) at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:243) at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:356) at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:410) at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:479) at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:288) at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:65) at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2111) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:68) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1366) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1294) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$UpOneLevel.run(CurrentTaskFuture.java:848) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$UpAllTheWay.go(CurrentTaskFuture.java:623) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture.go(CurrentTaskFuture.java:140) at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture.go(CurrentTaskFuture.java:135) at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.proceedTo(AsyncRunLevelContext.java:571) at org.glassfish.hk2.runlevel.internal.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:48) at com.sun.enterprise.v3.server.AppServerStartup.proceedTo(AppServerStartup.java:498) at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:302) at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:209) at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:200) at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:77) at com.sun.enterprise.glassfish.bootstrap.osgi.GlassFishDecorator.start(GlassFishDecorator.java:39) at com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishImpl.start(EmbeddedOSGiGlassFishImpl.java:50) at com.sun.enterprise.glassfish.bootstrap.osgi.GlassFishDecorator.start(GlassFishDecorator.java:39) at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:45) at com.sun.enterprise.glassfish.bootstrap.Launcher.launch(Launcher.java:54) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:93) at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:27)

Steps to reproduce

I already checked a Class-Path of all MANIFEST.MF files included in ejbmodule and both wars. They contain only paths to external jars, that are really used (storing in a /lib subdirectory).

Impact of Issue

Is there an opportunity to investigate where I have to check my EAR to make this warnings disappear? Or Maybe I can disable a TLD scanner?

dmatej commented 3 weeks ago

@arjantijms Am I right that this should be moved rather to the Wasp project? I would expect these exceptions would be better logged as FINEST, but not as WARNINGs. And Wasp then would create some report what it has found, as INFO or CONFIG level. INFO would be probably good. https://github.com/eclipse-ee4j/wasp