It’s in there. For the primitive types, there’s no semi-colon at the end. For 
example void f(int, int, int) has signature f(III)V. With the L (object) type, 
it’s L<class>; with semi-colon at end. You can see L*;IL*; in there. That I 
before the second L is the int argument you are looking for.

As for why you get no such method error, I don’t know. I use POI in my project 
and the version of POI that I have does not have this method at all. On the 
website 
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html#copyRows%28java.util.List,%20int,%20org.apache.poi.ss.usermodel.CellCopyPolicy%29,
 it does has a signature you are trying to call.

If you think your POI is new enough to have that method, a common issue I’ve 
seen in cases like this is that accidentially multiple versions of a library 
(POI in this case) are on the classpath at the same time and you’re really 
loading an older version than you think.

Jason

From: rjohnson.u...@gmail.com [mailto:rjohnson.u...@gmail.com] On Behalf Of 
Ralph Johnson
Sent: Friday, November 06, 2015 5:29 AM
To: users@groovy.incubator.apache.org
Subject: wrong error message?

I'm calling a Java library (Poi) from Groovy.  I get a "no such method" error 
that says to me that I am passing two arguments, but I am really passing three. 
  My code is

int i -> sheet.copyRows([sourceRow], i, new CellCopyPolicy())
and the error message is

java.lang.NoSuchMethodError: 
org.apache.poi.xssf.usermodel.XSSFSheet.copyRows(Ljava/util/List;ILorg/apache/poi/ss/usermodel/CellCopyPolicy;)V

The way I read it, I am giving copyRows two arguments, a List and a 
CellCopyPolicy.   It didn't seem to see the integer that was the second 
argument.

Can anyone see what I am doing wrong?   I can give more context, but it is just 
as likely to confuse as to illuminate.

-Ralph Johnson

----------------------------------------------------------------------
This email message and any attachments are for the sole use of the intended 
recipient(s). Any unauthorized review, use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please contact the sender by 
reply email and destroy all copies of the original message and any attachments.

Reply via email to