How to generate the proxy of JNative.jar using proxygen.exe?

451 views
Skip to first unread message

ccj

unread,
Feb 17, 2012, 8:03:33 AM2/17/12
to jni4net
using proxygen to generate the proxy of JNative.jar,
http://sourceforge.net/projects/jnative/, encounters the following
errors, can someone here give some clue on it, thank!

D:\Project>proxygen JNative.jar -wd work
jni4net.proxygen - Copyright (C) 2009 Pavel Savara - licensed under
GPLv3
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.setPreferredMemoryType(MemoryBlockFactory.java:
29)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
53)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.DWORD.<init>(DWORD.java:6)
at org.xvolks.jnative.util.windows.structures.GUID.<init>(GUID.java:
17)
at org.xvolks.jnative.util.windows.structures.GUID.<clinit>(GUID.java:
15)
at org.xvolks.jnative.com.interfaces.IUnknown.<clinit>(IUnknown.java:
10)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 12 more
java.lang.NoSuchMethodException: class
org.xvolks.jnative.pointers.memory.HeapMemoryBlock not found
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.setPreferredMemoryType(MemoryBlockFactory.java:
38)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
53)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.DWORD.<init>(DWORD.java:6)
at org.xvolks.jnative.util.windows.structures.GUID.<init>(GUID.java:
17)
at org.xvolks.jnative.util.windows.structures.GUID.<clinit>(GUID.java:
15)
at org.xvolks.jnative.com.interfaces.IUnknown.<clinit>(IUnknown.java:
10)
org.xvolks.jnative.exceptions.NativeException:
java.lang.NoSuchMethodException: class
org.xvolks.jnative.pointers.memory.HeapMemoryBlock not found
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.DWORD.<init>(DWORD.java:6)
at org.xvolks.jnative.util.windows.structures.GUID.<init>(GUID.java:
17)
at org.xvolks.jnative.util.windows.structures.GUID.<clinit>(GUID.java:
15)
at org.xvolks.jnative.com.interfaces.IUnknown.<clinit>(IUnknown.java:
10)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
55)
at org.xvolks.jnative.misc.ChooseColor.<clinit>(ChooseColor.java:35)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 6 more
org.xvolks.jnative.exceptions.NativeException:
java.lang.reflect.InvocationTargetException
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at org.xvolks.jnative.misc.ChooseColor.<clinit>(ChooseColor.java:35)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
55)
at org.xvolks.jnative.misc.HKEY.createPointer(HKEY.java:67)
at org.xvolks.jnative.misc.HKEY.<init>(HKEY.java:34)
at org.xvolks.jnative.misc.HKEY.<clinit>(HKEY.java:19)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 8 more
org.xvolks.jnative.exceptions.NativeException:
java.lang.reflect.InvocationTargetException
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at org.xvolks.jnative.misc.HKEY.createPointer(HKEY.java:67)
at org.xvolks.jnative.misc.HKEY.<init>(HKEY.java:34)
at org.xvolks.jnative.misc.HKEY.<clinit>(HKEY.java:19)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
55)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.DWORD.<init>(DWORD.java:6)
at org.xvolks.jnative.util.Kernel32.<clinit>(Kernel32.java:37)
at
org.xvolks.jnative.misc.WindowsVersion.<clinit>(WindowsVersion.java:
28)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 10 more
org.xvolks.jnative.exceptions.NativeException:
java.lang.reflect.InvocationTargetException
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.DWORD.<init>(DWORD.java:6)
at org.xvolks.jnative.util.Kernel32.<clinit>(Kernel32.java:37)
at
org.xvolks.jnative.misc.WindowsVersion.<clinit>(WindowsVersion.java:
28)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
55)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.HANDLE.<init>(HANDLE.java:
17)
at
org.xvolks.jnative.misc.basicStructures.HANDLE.<clinit>(HANDLE.java:
14)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 9 more
org.xvolks.jnative.exceptions.NativeException:
java.lang.reflect.InvocationTargetException
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at
org.xvolks.jnative.misc.basicStructures.LONG.createPointer(LONG.java:
50)
at org.xvolks.jnative.misc.basicStructures.LONG.<init>(LONG.java:25)
at org.xvolks.jnative.misc.basicStructures.HANDLE.<init>(HANDLE.java:
17)
at
org.xvolks.jnative.misc.basicStructures.HANDLE.<clinit>(HANDLE.java:
14)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
55)
at
org.xvolks.jnative.misc.basicStructures.HWND.createPointer(HWND.java:
35)
at org.xvolks.jnative.misc.basicStructures.HWND.<init>(HWND.java:19)
at org.xvolks.jnative.util.User32.<clinit>(User32.java:54)
Caused by: java.lang.UnsatisfiedLinkError:
org.xvolks.jnative.JNative.nMalloc(I)I
at org.xvolks.jnative.JNative.nMalloc(Native Method)
at org.xvolks.jnative.JNative.allocMemory(JNative.java:1041)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.reserveMemory(HeapMemoryBlock.java:
39)
at
org.xvolks.jnative.pointers.memory.HeapMemoryBlock.<init>(HeapMemoryBlock.java:
23)
... 8 more
org.xvolks.jnative.exceptions.NativeException:
java.lang.reflect.InvocationTargetException
at
org.xvolks.jnative.pointers.memory.MemoryBlockFactory.createMemoryBlock(MemoryBlockFactory.java:
60)
at
org.xvolks.jnative.misc.basicStructures.HWND.createPointer(HWND.java:
35)
at org.xvolks.jnative.misc.basicStructures.HWND.<init>(HWND.java:19)
at org.xvolks.jnative.util.User32.<clinit>(User32.java:54)

java.lang.NoClassDefFoundError:
org.xvolks.jnative.com.interfaces.IDispatch
D:\Project>

thanks!
ccj neta

Pavel Šavara

unread,
Feb 17, 2012, 3:39:03 PM2/17/12
to jni...@googlegroups.com
Hi,

I would recommend you to use directly P/Invoke when working with C#/CLR.

Pavel

ccj ccj

unread,
Feb 17, 2012, 9:30:17 PM2/17/12
to jni...@googlegroups.com
Pavel,
 
Thank you very much!
 
Now I have one project writen by C#, in this project I need to call the functions in 3rd-party library writen by Java, that is to say, I can not use P/Invoke.
The 3rd-party library uses JNative.jar, so I have to generate the proxy of JNative.jar.
 
Could you please help to give some help on how to generate th proxy of JNative.jar? Thanks!
 
Thanks,
ccj netca

2012/2/18 Pavel Šavara <pavel....@gmail.com>

Pavel Šavara

unread,
Feb 18, 2012, 7:14:39 AM2/18/12
to jni...@googlegroups.com
Most likely you don't need to generate proxies for jnative if you don't use it's API from C#.
Only thing you have to do is to add it to classPath.
Also make sure you have proper 32/64 bit architecture expected by your native dependencies.

ccj ccj

unread,
Feb 19, 2012, 12:49:51 AM2/19/12
to jni...@googlegroups.com
Thanks a lot for your suggestion.
 
Yes, no need to generate proxies for jnative for the problem of my project.
 

 
2012/2/18 Pavel Šavara <pavel....@gmail.com>
330.gif
Reply all
Reply to author
Forward
0 new messages