Another error creating JVM through JNI

T

Tim

I notice that there is another poster with a similar problem to mine,
but he's on Unix and I am on Windows, and I think there may be a
setup/config problem, so I am starting a new thread

I am also getting an error creating the JVM, I am using j2sdk1.4.2_04
with MSDEV 6.0 and have cut'n'pasted about three different pieces of
sample code ( I won't post loads of code here) from working examples
found on the web, they all fail on the call to JNI_CreateJavaVM with an
error code of -1

I am wondering is there are any common setup problems, perhaps having
dlls in the wrong place of environment variables set wrongly, that
might be a cause of this problem?


Here is an example of one code sample I tried that did not work.
Incidentally if I set the version wrong, I get a different error code
(-3, which is to indicate wrong version)

jint ret;
JavaVM* jvm;
JNIEnv* env;
JavaVMInitArgs args;
JavaVMOption options[1];

args.version = JNI_VERSION_1_2;
args.nOptions = 1;
options[0].optionString = "-Djava.class.path=c:\\";
args.options = options;
args.ignoreUnrecognized = JNI_FALSE;

ret = JNI_CreateJavaVM(&jvm, (void **)&env, &args);
 
G

Gordon Beaton

I am wondering is there are any common setup problems, perhaps
having dlls in the wrong place of environment variables set wrongly,
that might be a cause of this problem?

The JVM DLL's must be in your PATH, or the program will fail to load
them (and you will be unable to create the JVM).

/gordon
 
T

Tim

Thanks Gordon -you set me thinking on the right lines; I had placed the
JVM.dll in my project directory, so it was being loaded OK, but it
seems it *has* to run from its default location. So I removed my copy
of the dll and put the correct one on ther path and now it's working

Tim
 
C

Chris Uppal

Gordon said:
The JVM DLL's must be in your PATH, or the program will fail to load
them (and you will be unable to create the JVM).

Or you can load the DLL explicitly by its filename. That's the approach I
favour myself and recommend to others.

I've posted code for that more than once, if the OP wants it then Goodle should
provide.

-- chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,432
Messages
2,571,681
Members
48,796
Latest member
Greg L.

Latest Threads

Top