[ https://issues.apache.org/jira/browse/GROOVY-11578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17932320#comment-17932320 ]
Paul King commented on GROOVY-11578: ------------------------------------ I also added an additional test to my Karaf spike (tests that the groovy-datetime module is working, it's not a service but extension methods could disappear if there were classloader issues with that module): {code:java} @Test public void testExecGroovyDateTimeCommand() throws Exception { String resultNoArgs = executeCommand("groovy:exec \"" + "import java.time.LocalTime\n" + "println LocalTime.of(23, 59).format('HH:mm')\""); assertContains("23:59", resultNoArgs); } {code} It and the other Groovy tests pass with spifly reverted back to 1.2.4. Reverting the version is obviously a workaround. > Services loaded via the service loader not working in (some) OSGi contexts > for Groovy 4+ > ---------------------------------------------------------------------------------------- > > Key: GROOVY-11578 > URL: https://issues.apache.org/jira/browse/GROOVY-11578 > Project: Groovy > Issue Type: Bug > Affects Versions: 4.0.26 > Reporter: Paul King > Assignee: Paul King > Priority: Major > Attachments: groovy-json-example.zip > > > This is related to GROOVY-11570 and GROOVY-11571 but it seems worthwhile > having an issue that is just about getting the services working again. > Current steps to reproduce: > * clone the apache/karaf repo > * change groovy versions: codehaus=>apache, 3.0.24=>4.0.26 > * add an additional test to GroovyTest (see below) to exercise service loader > related functionality > * run "mvn test" in the itests directory > Additional test: > {code} > @Test > public void testExecGroovyJsonCommand() throws Exception { > String resultNoArgs = executeCommand("groovy:exec \"" > + "import org.apache.groovy.json.internal.FastStringUtils\n" > + "println FastStringUtils.toCharArray('result') == > 'result'.toCharArray()\""); > assertContains("true", resultNoArgs); > } > {code} > Result: > {noformat} > <system-err><![CDATA[groovy:exec "import > org.apache.groovy.json.internal.FastStringUtils > println FastStringUtils.toCharArray('result') == 'result'.toCharArray()" > java.lang.RuntimeException: Unable to load FastStringService > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:444) > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:358) > at > org.apache.karaf.itests.KarafTestSupport.executeCommand(KarafTestSupport.java:345) > at > org.apache.karaf.itests.GroovyTest.testExecGroovyJsonCommand(GroovyTest.java:54) > ... > at > org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:43) > ... > Caused by: java.lang.RuntimeException: Unable to load FastStringService > at > org.apache.groovy.json.internal.FastStringUtils.getService(FastStringUtils.java:56) > ... > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)