[ 
https://issues.apache.org/jira/browse/GROOVY-11813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles reassigned GROOVY-11813:
------------------------------------

    Assignee: Eric Milles

> groovy.lang.MissingMethodException: No signature of method: minus for class: 
> java.util.Date is applicable for argument types: 
> (groovy.time.DatumDependentDuration)
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-11813
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11813
>             Project: Groovy
>          Issue Type: Question
>    Affects Versions: 5.0.2
>            Reporter: Saravanan Subiramaniam
>            Assignee: Eric Milles
>            Priority: Major
>
> Could you please help me with TimeCategory? The following script worked fine 
> in Groovy 4.0.x, but fails after we upgraded to 5.0.2.
> {code}
> use(groovy.time.TimeCategory)  { 
>    new Date() - 7.months 
> }
> {code}
> Please note that this script works when running using standalone Groovy (eg: 
> using groovy command), but fails in our application (Java based) with this 
> error. Both groovy-dateutil and groovy-datetime dependencies are in the 
> classpath. Our application uses Java 21.
> {code}
> Dynamic logic TESTUNIT_2:
> 1: *ERROR* -->       use(groovy.time.TimeCategory)  { 
> 2:                    new Date() - 7.months 
> 3:                    }
> groovy.lang.MissingMethodException: No signature of method: minus for class: 
> java.util.Date is applicable for argument types: 
> (groovy.time.DatumDependentDuration) values: [7 months]
> Possible solutions: minus(java.util.Date), minus(int), find(), 
> find(groovy.lang.Closure), is(java.lang.Object), plus(int)
>       at 
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:74)
>       at 
> org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:163)
>       at 
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
>       at 
> custom.dynamiclogic.testunit_2.TESTUNIT_2$_run_closure1.doCall(custom.dynamiclogic.testunit_2.TESTUNIT_2.groovy:2)
>       at 
> custom.dynamiclogic.testunit_2.TESTUNIT_2$_run_closure1.doCall(custom.dynamiclogic.testunit_2.TESTUNIT_2.groovy)
>       at 
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>       at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
>       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:270)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1008)
>       at groovy.lang.Closure.call(Closure.java:471)
>       at groovy.lang.Closure.call(Closure.java:450)
>       at 
> org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:124)
>       at 
> org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:262)
>       at 
> org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:17206)
>       at org.codehaus.groovy.runtime.dgm$1263.doMethodInvoke(Unknown Source)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1235)
>       at 
> org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
>       at 
> custom.dynamiclogic.testunit_2.TESTUNIT_2.run(custom.dynamiclogic.testunit_2.TESTUNIT_2.groovy:1)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to