Skip to main content
Participating Frequently
November 27, 2013
Question

can not find jvm.dll

  • November 27, 2013
  • 2 replies
  • 3576 views

I am trying to use a jdbc/mysql connector. The issue is that the connector is compiled in a later version that what is installed in Coldfusion MX 6.1. I have downloaded and installed the Java 6 SE JDK and installed it. Here is my JVM config file.

#

# VM configuration

#

# Where to find JVM, if {java.home}/jre exists then that JVM is used

# if not then it must be the path to the JRE itself

#java.home=C:/Program Files (x86)/Java/jdk1.6.0_45/jre

#java.home=C:\\Program Files (x86)\\Java\\jdk1.6.0_45\\jre

#java.home=C:/Program Files (x86)/Java/jdk1.6.0_45

#java.home=C:\\Program Files (x86)\\Java\\jdk1.6.0_45

java.home=C:/CFusionMX/runtime/jre

#

# If no java.home is specified a VM is located by looking in these places in this

# order:

#

#  1) bin directory for java.dll (windows) or lib/<ARCH>/libjava.so (unix)

#  2) ../jre

#  3) registry (windows only)

#  4) JAVA_HOME env var plus jre (ie $JAVA_HOME/jre)

#

# Arguments to VM

java.args=-server -DJINTEGRA_NATIVE_MODE -DJINTEGRA_PREFETCH_ENUMS -Xmx512m -Dsun.io.useCanonCaches=false -Xbootclasspath/a:"{application.home}/../lib/webchartsJava2D.jar" -XX:MaxPermSize=128m -XX:+UseParallelGC

#

# commas will be converted to platform specific separator and the result will be passed

# as -Djava.ext.dirs= to the VM

java.ext.dirs={jre.home}/lib/ext

#

# where to find shared libraries

java.library.path={application.home}/../lib,{application.home}/../jint egra/bin,{application.home}/../jintegra/bin/international,{application .home}/../lib/_nti40/bin

system.path.first=false

# JVM classpath

java.class.path={application.home}/servers/lib,{application.home}/../l ib/cfusion.jar,{application.home}/../lib,{application.home}/../runtime /lib/jrun.jar,{application.home}/../runtime/lib,

I have tried each of the 4 paths and only the last one works. The following is my Coldfusion error log.

Error loading: C:/Program Files (x86)/Java/jdk1.6.0_45/jre\bin\server\jvm.dll

Error loading: C:\Program Files (x86)\Java\jdk1.6.0_45\jre\bin\server\jvm.dll

Error loading: C:/Program Files (x86)/Java/jdk1.6.0_45\jre\bin\server\jvm.dll

Error loading: C:\Program Files (x86)\Java\jdk1.6.0_45\jre\bin\server\jvm.dll

I have no idea why the jvm.dll can not be found as the file is in that directory.

(sorry for the cross post. This is probably the better place)

    This topic has been closed for replies.

    2 replies

    Charlie Arehart
    Community Expert
    Community Expert
    November 28, 2013

    Besides what Carl offers, that error strikes me as one related to mixed up bit levels (32 vs 64) between CF and the JVM. Now, CF6 did not support 64-bit. That was added only in CF8 (and only then for Enterprise. CF9 changed it to be supported for Standard). So I think you can ONLY be running a 32-bit CF.

    And you show pointing to a JVM "Program Files (x86)", which would suggest that you are using a 32-bit JVM. But I suppose you could have installed a 64-bit JVM but told it to install into that directory, which would then be fooling us.

    If you installed that JVM, can you confirm by looking at the installer exe, to see whether it had i586 or x64 in its name? The former would be what you need. (And then “C:
    Program Files (x86)
    Java
    jdk1.6.0_45
    jre” is a form of path specification that should work.)

    Let us know what you find.

    /charlie

    /Charlie (troubleshooter, carehart. org)
    MovakAuthor
    Participating Frequently
    November 28, 2013

    I was very careful in which in downloading the 32 bit version and installing it. I was also careful to install the JDK and not just the JVM so I would get the server files too. I seem to be doing everything right but nothing seems to work.

    Charlie Arehart
    Community Expert
    Community Expert
    November 28, 2013

    Fair enough. Then how about proving things differently: get a 1.4 JDK, install that, and point CF at that. If that works, while your same efforts to do that with 1.6 do not, then we can reasonably conclude that the problem is simply that CF6.1 does not work with a 1.6 jvm. As Carl noted, it was not until CF 8 that CF came with (and formally supported) Java 1.6.

    /charlie

    /Charlie (troubleshooter, carehart. org)
    Carl Von Stetten
    Legend
    November 27, 2013

    I'm pretty sure CF 6.1 ran on Java 1.4 (and maybe 1.5).  You may not be able to run it on 1.6.  You'd be better off upgrading that server to CF10 so that you can utilize the current Java JDK (1.7.x).

    -Carl V.

    MovakAuthor
    Participating Frequently
    November 28, 2013

    I would love to use CF10 but there are too many changes that would need to be done to the code to justify the change. We are going to re-write the whole thing in about six months anyway.