Not able to run sample code of OpenCV/Caffe JavaCpp Preset. Getting "java.lang.NoSuchMethodError: init"

77 views
Skip to first unread message

ashish bhutani

unread,
Feb 29, 2016, 9:05:24 AM2/29/16
to javacpp
Hi

My pom looks like:


       
<dependency>
           
<groupId>org.bytedeco</groupId>
           
<artifactId>javacpp</artifactId>
           
<version>1.1</version>
       
</dependency>

   
<dependency>
       
<groupId>org.bytedeco</groupId>
       
<artifactId>javacv</artifactId>
       
<version>0.10</version>
   
</dependency>

     
<dependency>
       
<groupId>org.bytedeco.javacpp-presets</groupId>
       
<artifactId>caffe</artifactId>
       
<version>master-1.1</version>
     
</dependency>

     
<dependency>
     
<groupId>org.bytedeco.javacpp-presets</groupId>
     
<artifactId>opencv</artifactId>
     
<version>2.4.11-0.11</version>
     
</dependency>

Command I am running:

mvn package exec:java -Dplatform.dependencies


Error I get:

Error getting method ID of org/bytedeco/javacpp/Pointer/init
[WARNING]
java
.lang.reflect.InvocationTargetException
    at sun
.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java
.lang.reflect.Method.invoke(Method.java:483)
    at org
.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
    at java
.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: init
    at java
.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java
.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
    at java
.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
    at java
.lang.Runtime.load0(Runtime.java:809)
    at java
.lang.System.load(System.java:1083)
    at org
.bytedeco.javacpp.Loader.loadLibrary(Loader.java:580)
    at org
.bytedeco.javacpp.Loader.load(Loader.java:438)
    at org
.bytedeco.javacpp.Loader.load(Loader.java:381)
    at org
.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
    at java
.lang.Class.forName0(Native Method)
    at java
.lang.Class.forName(Class.java:344)
    at org
.bytedeco.javacpp.Loader.load(Loader.java:413)
    at org
.bytedeco.javacpp.Loader.load(Loader.java:381)
    at org
.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:107)

Build machine : MacBook OS X El Capitan 10.11.3
Java version 1.8

Can someone help please ? I am going to try the manual installation steps as given in github readme. But if there is any glaring mistake in my setup above, please let me know. Thanks.

ashish bhutani

unread,
Mar 2, 2016, 4:53:02 PM3/2/16
to javacpp
This problem got solved. Seemingly there were two versions of javaCpp in my .m2 maven directory. And the unintended one was getting picked. Clearing all presets and doing clean install did the tricks. Thanks.

Samuel Audet

unread,
Mar 2, 2016, 11:59:52 PM3/2/16
to javacpp

There's also that JavaCV 0.10 isn't compatible with JavaCPP 1.1...

Samuel

2016/03/03 6:53 "ashish bhutani" <bhutani....@gmail.com>:
--
You received this message because you are subscribed to the Google Groups "javacpp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to javacpp-proje...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ashish bhutani

unread,
Mar 3, 2016, 1:51:13 AM3/3/16
to javacpp

Thanks. You are right. I think that was the problem. I went back in the history of my pom.xml and realized that version of OpenCV and Caffe presets I had used belonged to different JavaCpp versions.
Reply all
Reply to author
Forward
0 new messages