[ 
https://issues.apache.org/jira/browse/GROOVY-8975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16770353#comment-16770353
 ] 

Remko Popma commented on GROOVY-8975:
-------------------------------------

I was unable to reproduce the problem. I attached the project I created to 
verify this. This worked as expected in my IDEA (IntelliJ) and on the command 
line. You can try if this project works. On the command line, the minimum 
classpath to run the example is the below (assuming the jars are in the current 
directory): 

{code}
java -cp 
out\production\classes;groovy-2.5.6.jar;groovy-cli-picocli-2.5.6.jar;picocli-3.9.2.jar
 pkg.App
{code}

I suspect it may be a problem in your environment, and I remember seeing a 
similar error at some point when I was working on CliBuilder. I don't remember 
what I did to fix it...

Could it be there are multiple versions of Groovy in the classpath?


> GroovyCastException on the result of CliBuilder.parseFromSpec
> -------------------------------------------------------------
>
>                 Key: GROOVY-8975
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8975
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 2.5.5
>            Reporter: Mauro Molinari
>            Assignee: Remko Popma
>            Priority: Major
>         Attachments: GROOVY-8975.zip
>
>
> I'm trying to follow the tutorial about the use of CliBuilder in Groovy with 
> Groovy 2.5.5. Copying the code at [Annotating methods of an 
> interface|https://github.com/remkop/picocli/wiki/Groovy-2.5-CliBuilder-Renewal#annotating-methods-of-an-interface]
>  paragraph, at runtime I have the following Exception:
> {noformat}
> Exception in thread "main" 
> org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast 
> object 
> '{help=groovy.cli.picocli.CliBuilder$_extractAttributesFromMethod_closure12@3bb9a3ff}'
>  with class 'java.util.LinkedHashMap' to class 'mypackage.IHello' due to: 
> groovy.lang.GroovyRuntimeException: Could not find matching constructor for: 
> mypackage.IHello(LinkedHashMap)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:412)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:328)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:242)
>         at 
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:617)
>         at mypackage.MyMain.main(MyMain.groovy:20)Exception in thread "main" 
> org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast 
> object 
> '{help=groovy.cli.picocli.CliBuilder$_extractAttributesFromMethod_closure12@3bb9a3ff}'
>  with class 'java.util.LinkedHashMap' to class 'mypackage.IHello' due to: 
> groovy.lang.GroovyRuntimeException: Could not find matching constructor for: 
> mypackage.IHello(LinkedHashMap)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:412)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:328)
>         at 
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:242)
>         at 
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:617)
>         at mypackage.MyMain.main(DcsServizi2Sdi.groovy:20){noformat}
> The exception occurs at this line:
>  {{IHello hello = cli.parseFromSpec(IHello, argz)}}
> The exception goes away (and all works fine) if I replace it with:
>  {{def hello = cli.parseFromSpec(IHello, argz)}}
> I tried to downgrade Groovy down to version 2.5.0 and I always get the 
> exception. So this really puzzles me, since the mentioned tutorial is quite 
> simple and straight to follow...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to