We removed the all jar and went with an all pom to be eventually compatible with JDK9+ modules. You might just want to bring in the minimal set of modular jars you need. I tried your example and could replicate your problem but haven't had a chance to play further. It looked suspiciously like a classloader issue but I didn't get time to confirm.
Cheers, Paul. On Mon, Feb 10, 2020 at 9:46 AM Blake McBride <blake1...@gmail.com> wrote: > Now that I have some time I have been looking into it. Interestingly, my > Gradle build line looks like this: > > compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.15' > or > compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.5.9' > > If I build a WAR file with the 2.4.15 I get the following in the > WEB-INF/lib directory od my WAR file: > > abcl.jar log4j-1.2.17.jar > ojdbc6-12.1.0.1-atlassian-hosted.jar sqlite-jdbc-3.21.0.1.jar > c3p0-0.9.5.2.jar mchange-commons-java-0.2.11.jar > postgresql-42.2.2.jar > dynamic-loader-1.4-SNAPSHOT.jar mssql-jdbc-6.4.0.jre8.jar > slf4j-api-1.7.25.jar > groovy-all-2.4.15.jar mysql-connector-java-6.0.6.jar > slf4j-simple-1.7.25.jar > > If I just change the 2.4.15 to 2.5.9 I get: > > abcl.jar groovy-jmx-2.5.9.jar > junit-jupiter-engine-5.4.0.jar > ant-1.9.13.jar groovy-json-2.5.9.jar > junit-platform-commons-1.4.0.jar > ant-antlr-1.9.13.jar groovy-jsr223-2.5.9.jar > junit-platform-engine-1.4.0.jar > ant-junit-1.9.13.jar groovy-macro-2.5.9.jar > junit-platform-launcher-1.4.0.jar > ant-launcher-1.9.13.jar groovy-nio-2.5.9.jar > log4j-1.2.17.jar > apiguardian-api-1.0.0.jar groovy-servlet-2.5.9.jar > mchange-commons-java-0.2.11.jar > c3p0-0.9.5.2.jar groovy-sql-2.5.9.jar > mssql-jdbc-6.4.0.jre8.jar > commons-cli-1.4.jar groovy-swing-2.5.9.jar > mysql-connector-java-6.0.6.jar > dynamic-loader-1.4-SNAPSHOT.jar groovy-templates-2.5.9.jar > ojdbc6-12.1.0.1-atlassian-hosted.jar > groovy-2.5.9.jar groovy-test-2.5.9.jar > opentest4j-1.1.1.jar > groovy-ant-2.5.9.jar groovy-test-junit5-2.5.9.jar > picocli-4.0.1.jar > groovy-cli-commons-2.5.9.jar groovy-testng-2.5.9.jar > postgresql-42.2.2.jar > groovy-cli-picocli-2.5.9.jar groovy-xml-2.5.9.jar > qdox-1.12.1.jar > groovy-console-2.5.9.jar hamcrest-core-1.3.jar > slf4j-api-1.7.25.jar > groovy-datetime-2.5.9.jar jcommander-1.72.jar > slf4j-simple-1.7.25.jar > groovy-docgenerator-2.5.9.jar jline-2.14.6.jar > sqlite-jdbc-3.21.0.1.jar > groovy-groovydoc-2.5.9.jar junit-4.12.jar > testng-6.13.1.jar > groovy-groovysh-2.5.9.jar junit-jupiter-api-5.4.0.jar > > What? > > Why isn't it loading groovy-all-2.5.9.jar instead of all of those sub-jars? > > Thanks! > > Blake > > > > > > > > > > On Wed, Feb 5, 2020 at 5:01 PM Blake McBride <blake1...@gmail.com> wrote: > >> Greetings, >> >> All of the code is at https://github.com/blakemcbride/Kiss/ >> It runs as-is. If I just change Groovy from 2.4.15 to 2.5.9 I get the >> following when I run it with: ./gradlew tomcatRun >> >> $ ./gradlew clean >> >> BUILD SUCCESSFUL in 1s >> 1 actionable task: 1 executed >> $ ./gradlew tomcatRun >> 16:45:28 INFO Configuring / with >> file:/home/blake/intellijProjects/Kiss/build/inplaceWebapp/META-INF/context.xml >> Feb 05, 2020 4:45:29 PM org.apache.coyote.AbstractProtocol init >> INFO: Initializing ProtocolHandler ["http-nio-8080"] >> Feb 05, 2020 4:45:29 PM org.apache.tomcat.util.net.NioSelectorPool >> getSharedSelector >> INFO: Using a shared selector for servlet write/read >> Feb 05, 2020 4:45:29 PM org.apache.catalina.core.StandardService >> startInternal >> INFO: Starting service Tomcat >> Feb 05, 2020 4:45:29 PM org.apache.catalina.core.StandardEngine >> startInternal >> INFO: Starting Servlet Engine: Apache Tomcat/8.0.51 >> Feb 05, 2020 4:45:29 PM org.apache.catalina.startup.ContextConfig >> getDefaultWebXmlFragment >> INFO: No global web.xml found >> Feb 05, 2020 4:45:32 PM org.apache.jasper.servlet.TldScanner scanJars >> INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable >> debug logging for this logger for a complete list of JARs that were scanned >> but no TLDs were found in them. Skipping unneeded JARs during scanning can >> improve startup time and JSP compilation time. >> Feb 05, 2020 4:45:32 PM org.apache.coyote.AbstractProtocol start >> INFO: Starting ProtocolHandler ["http-nio-8080"] >> 16:45:32 INFO Tomcat 8.0.51 started and listening on port 8080 >> 16:45:32 INFO runs at: >> 16:45:32 INFO http://localhost:8080 >> >> > Task :tomcatRun >> Press any key to stop the server. >> >> * * * Context path = >> /home/blake/intellijProjects/Kiss/build/inplaceWebapp/ >> * * * Is running with source >> * * * Application path set to >> /home/blake/intellijProjects/Kiss/src/main/application/ >> Feb 05, 2020 4:45:44 PM org.apache.catalina.core.StandardWrapperValve >> invoke >> SEVERE: Servlet.service() for servlet [org.kissweb.rest.MainServlet] in >> context with path [] threw exception [Servlet execution threw an exception] >> with root cause >> java.lang.NoSuchMethodError: >> org.apache.groovy.util.SystemUtil.getSystemPropertySafe(Ljava/lang/String;)Ljava/lang/String; >> at >> org.codehaus.groovy.control.CompilerConfiguration.<init>(CompilerConfiguration.java:411) >> at >> org.codehaus.groovy.control.CompilerConfiguration$1.<init>(CompilerConfiguration.java:122) >> at >> org.codehaus.groovy.control.CompilerConfiguration.<clinit>(CompilerConfiguration.java:122) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:160) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:184) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:140) >> at org.kissweb.rest.GroovyClass.<init>(GroovyClass.java:54) >> at >> org.kissweb.rest.GroovyService.loadGroovyClass(GroovyService.java:155) >> at >> org.kissweb.rest.GroovyService.internalGroovy(GroovyService.java:41) >> at >> org.kissweb.rest.MainServlet.initializeSystem(MainServlet.java:70) >> at org.kissweb.rest.MainServlet.doPost(MainServlet.java:51) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:458) >> at >> org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >> at >> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >> at java.lang.Thread.run(Thread.java:748) >> >> * * * Context path = >> /home/blake/intellijProjects/Kiss/build/inplaceWebapp/ >> * * * Is running with source >> * * * Application path set to >> /home/blake/intellijProjects/Kiss/src/main/application/ >> Feb 05, 2020 4:45:44 PM org.apache.catalina.core.StandardWrapperValve >> invoke >> SEVERE: Servlet.service() for servlet [org.kissweb.rest.MainServlet] in >> context with path [] threw exception [Servlet execution threw an exception] >> with root cause >> java.lang.NoClassDefFoundError: Could not initialize class >> org.codehaus.groovy.control.CompilerConfiguration >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:160) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:184) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:140) >> at org.kissweb.rest.GroovyClass.<init>(GroovyClass.java:54) >> at >> org.kissweb.rest.GroovyService.loadGroovyClass(GroovyService.java:155) >> at >> org.kissweb.rest.GroovyService.internalGroovy(GroovyService.java:41) >> at >> org.kissweb.rest.MainServlet.initializeSystem(MainServlet.java:70) >> at org.kissweb.rest.MainServlet.doPost(MainServlet.java:51) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:458) >> at >> org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >> at >> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >> at java.lang.Thread.run(Thread.java:748) >> >> * * * Context path = >> /home/blake/intellijProjects/Kiss/build/inplaceWebapp/ >> * * * Is running with source >> * * * Application path set to >> /home/blake/intellijProjects/Kiss/src/main/application/ >> Feb 05, 2020 4:45:44 PM org.apache.catalina.core.StandardWrapperValve >> invoke >> SEVERE: Servlet.service() for servlet [org.kissweb.rest.MainServlet] in >> context with path [] threw exception [Servlet execution threw an exception] >> with root cause >> java.lang.NoClassDefFoundError: Could not initialize class >> org.codehaus.groovy.control.CompilerConfiguration >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:160) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:184) >> at >> groovy.lang.GroovyClassLoader.<init>(GroovyClassLoader.java:140) >> at org.kissweb.rest.GroovyClass.<init>(GroovyClass.java:54) >> at >> org.kissweb.rest.GroovyService.loadGroovyClass(GroovyService.java:155) >> at >> org.kissweb.rest.GroovyService.internalGroovy(GroovyService.java:41) >> at >> org.kissweb.rest.MainServlet.initializeSystem(MainServlet.java:70) >> at org.kissweb.rest.MainServlet.doPost(MainServlet.java:51) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:458) >> at >> org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) >> at >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >> at >> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >> at java.lang.Thread.run(Thread.java:748) >> >> <===========--> 87% EXECUTING [13m 12<===========--> 87% EXECUTING [13m >> 57s] >> > IDLE >> > IDLE >> > IDLE >> > IDLE >> > IDLE >> > :tomcatRun > :tomcatRun >> > IDLE >> > IDLE >> >> >> >> On Wed, Feb 5, 2020 at 4:31 PM Paul King <pa...@asert.com.au> wrote: >> >>> Also, we would be interested in your classpath. It might be that both >>> 2.4 and 2.5 jars are on the classpath somehow. Doesn't appear to be the >>> case in the scan but depends on how the tomcatRun task is defined I guess >>> as to where its classpath is set up. >>> >>> On Thu, Feb 6, 2020 at 8:28 AM Paul King <pa...@asert.com.au> wrote: >>> >>>> >>>> Hi Blake, >>>> >>>> Do you have a stack trace? That's really what we were after in the >>>> scan, but may not be possible to get via that means in your case. >>>> >>>> Thanks, Paul. >>>> >>>> >>>> On Thu, Feb 6, 2020 at 5:58 AM Blake McBride <blake1...@gmail.com> >>>> wrote: >>>> >>>>> Yes but as I said initially, when I run: gradle tomcatRun >>>>> I get: >>>>> >>>>> java.lang.NoSuchMethodError: >>>>> org.apache.groovy.util.SystemUtil.getSystemPropertySafe(Ljava/lang/String;)Ljava/lang/String; >>>>> >>>>> java.lang.NoClassDefFoundError: Could not initialize class >>>>> org.codehaus.groovy.control.CompilerConfiguration >>>>> >>>>> The system ran and runs fine until I update Groovy. >>>>> >>>>> Thanks. >>>>> >>>>> Blake >>>>> >>>>> >>>>> On Sun, Feb 2, 2020 at 3:48 AM Daniel.Sun <sun...@apache.org> wrote: >>>>> >>>>>> Hi Blake, >>>>>> >>>>>> The build is *SUCCESSFUL*... >>>>>> >>>>>> https://scans.gradle.com/s/yxiyvmlpnq5ui/console-log?anchor=13 >>>>>> ``` >>>>>> :compileJava UP-TO-DATE >>>>>> :processResources NO-SOURCE >>>>>> :classes UP-TO-DATE >>>>>> :war >>>>>> :assemble >>>>>> :compileTestJava NO-SOURCE >>>>>> :processTestResources NO-SOURCE >>>>>> :testClasses UP-TO-DATE >>>>>> :test NO-SOURCE >>>>>> :check UP-TO-DATE >>>>>> :build >>>>>> BUILD SUCCESSFUL in 16s >>>>>> 2 actionable tasks: 1 executed, 1 up-to-date >>>>>> ``` >>>>>> >>>>>> Cheers, >>>>>> Daniel.Sun >>>>>> >>>>>> >>>>>> >>>>>> ----- >>>>>> Apache Groovy committer & PMC member >>>>>> Blog: http://blog.sunlan.me >>>>>> Twitter: @daniel_sun >>>>>> >>>>>> -- >>>>>> Sent from: >>>>>> http://groovy.329449.n5.nabble.com/Groovy-Users-f329450.html >>>>>> >>>>>