I haven't found the relevant issue/commit yet but seems fixed in 3.0.7. Cheers, Paul.
On Sat, Jan 9, 2021 at 4:16 AM Martin d'Anjou <[email protected]> wrote: > This code works in groovy 2, but not in groovy 3. > > @Grab(group='org.antlr', module='ST4', version='4.3.1') > import org.stringtemplate.v4.* > ST hello = new ST("Hello, <name>"); > hello.add("name", "World"); > println(hello.render()); > > Groovy 2: > $ groovy --version > Groovy Version: 2.5.14 JVM: 11.0.9.1 Vendor: AdoptOpenJDK OS: Linux > $ groovy st.groovy > Hello, World > > Groovy 3: > $ groovy --version > Groovy Version: 3.0.5 JVM: 11.0.9.1 Vendor: AdoptOpenJDK OS: Linux > $ groovy st.groovy > Caught: java.lang.NoClassDefFoundError: org/antlr/runtime/Token > java.lang.NoClassDefFoundError: org/antlr/runtime/Token > at org.stringtemplate.v4.ST.<init>(ST.java:159) > at > java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at st.run(st.groovy:4) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > Caused by: java.lang.ClassNotFoundException: org.antlr.runtime.Token > ... 8 more > > I don't understand why. Can someone help me please? > > Thanks, > Martin > >
