java - 无法在具有 32 位 JVM 的 AMD 64 位平台上加载 IA 32 位 .dll

标签 java glassfish

我在 64 位 Windows 8 平台上运行 Glassfish 4.0。我的系统上安装了 32 位和 64 位 JDK。我的 asenv.conf 文件指向 32 位 JDK 版本,但我仍然收到有关尝试在 64 位环境中加载 32 位 dll 的上述错误。我认为我已经验证了我确实在服务器日志中加载了 32 位版本(见下文)。

    VM invocation command line: C:\Program Files (x86)\Java\JRE_32bit\bin\java.exe -cp E:/glassfish4/glassfish/modules/glassfish.jar
 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009 -XX:+UnlockDiagnosticVMOptions -
 XX:MaxPermSize=192m -XX:NewRatio=2 -Xmx512m -javaagent:E:/glassfish4/glassfish/lib/monitor/flashlight-agent.jar -client
  -Dosgi.shell.telnet.maxconn=1 
  -Dfelix.fileinstall.disableConfigSave=false 
  -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver 
  -Dfelix.fileinstall.dir=E:\glassfish4\glassfish/modules/autostart/ 
  -Djavax.net.ssl.keyStore=E:\glassfish4\glassfish\domains\domain1/config/keystore.jks 
  -Dosgi.shell.telnet.port=6666 -Djava.security.policy=E:\glassfish4\glassfish\domains\domain1/config/server.policy 
  -Djava.awt.headless=true 
  -Dfelix.fileinstall.log.level=2 
  -Dfelix.fileinstall.poll=5000 
  -Dcom.sun.aas.instanceRoot=E:\glassfish4\glassfish\domains\domain1 
  -Dosgi.shell.telnet.ip=127.0.0.1 
  -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory 
  -Djava.endorsed.dirs=E:\glassfish4\glassfish/modules/endorsed;E:\glassfish4\glassfish/lib/endorsed 
  -Dcom.sun.aas.installRoot=E:\glassfish4\glassfish 
  -Dfelix.fileinstall.bundles.startTransient=true 
  -Djava.ext.dirs=C:\Program Files (x86)\Java\JRE_32bit/lib/ext;C:\Program Files (x86)\Java\JRE_32bit/jre/lib/ext;E:\glassfish4\glassfish\domains\domain1/lib/ext 
  -Dfelix.fileinstall.bundles.new.start=true -Djavax.net.ssl.trustStore=E:\glassfish4\glassfish\domains\domain1/config/cacerts.jks 
  -Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall 
  -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as 
  -Djava.security.auth.login.config=E:\glassfish4\glassfish\domains\domain1/config/login.conf 
  -DANTLR_USE_DIRECT_CLASS_LOADING=true 
  -Dgosh.args=--nointeractive 
  -Djava.library.path=E:/glassfish4/glassfish/lib;C:/Program Files/Java/jre7/bin;C:/Windows/Sun/Java/bin;C:/Windows/System32;
  C:/Windows;E:/OraClient11g_32/client_3/bin;E:/OraClient11g/client_3/bin;C:/Program Files/Veritas/Veritas Volume Manager;
  C:/Program Files/Veritas/VERITAS Object Bus/bin;C:/Program Files (x86)/Windows Resource Kits/Tools;C:/Program Files/HP/NCU;
  C:/Windows/System32/wbem;C:/Windows/System32/WindowsPowerShell/v1.0;
  C:/Program Files/Microsoft Network Monitor 3;C:/Program Files/System Center Operations Manager 2007;C:/Program Files/MySQL/MySQL Server 5.1/bin;
  C:/Program Files (x86)/PHP/v5.3;C:/Program Files (x86)/PHP/v5.4;C:/PHP/v5.5.1;C:/Windows/idmu/common;
  C:/Program Files/Microsoft/Web Platform Installer;C:/Program Files/Java/jdk1.7.0_25;E:/curl;
  C:/Program Files (x86)/Windows Kits/8.0/Windows Performance Toolkit;E:/glassfish4/glassfish/domains/domain1/config 
  com.sun.enterprise.glassfish.bootstrap.ASMain -domainname domain1 -asadmin-args --host,,,localhost,,,--port,,,4848,,,
  --secure=false,,,--terse=false,,,--echo=false,,,--interactive=false,,,start-domain,,,--verbose=false,,,--watchdog=true,,,
  --debug=false,,,--domaindir,,,E:\glassfish4\glassfish\domains,,,domain1 -instancename server -verbose false -debug false 
  -asadmin-classpath E:/glassfish4/glassfish/modules/admin-cli.jar -asadmin-classname com.sun.enterprise.admin.cli.AdminMain 
  -upgrade false -type DAS -domaindir E:/glassfish4/glassfish/domains/domain1 -read-stdin true

但是当我查看上面的信息时,发现有一个 -Djava.library.path=E:/glassfish4/glassfish/lib;C:/Program Files/Java/jre7/bin; 被埋了在仍然引用 64 位版本的路径中。这是我的 32 位与 64 位问题的原因吗?我是 Java 新手,我知道如何为应用程序设置它,但如何为 JVM 设置它?

此外,当我从命令行测试 Glassfish 版本时,它显示我正在运行 32 位 JVM。

Enter admin user name>  ****
Enter admin password for user "****">
Version = GlassFish Server Open Source Edition  4.0  (build 89), JRE version 1.7.0_25
Command version executed successfully.

任何帮助将不胜感激。

最佳答案

好吧,我可能应该先从这里开始,但是在我重新启动操作系统后,一切正常。我猜 Windows 仍然没有摆脱重新启动的困扰,即使是像 JAVA 安装这样简单的事情也是如此。

关于java - 无法在具有 32 位 JVM 的 AMD 64 位平台上加载 IA 32 位 .dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23772681/

相关文章:

java - JAX-RPC 处理程序发生异常

java - 如何调试使用 Docker Compose 运行的 Glassfish 应用程序

java - Jersey - Moxy 在类属性中返回附加 json

java - 如何在 GlassFish 中启用可选的客户端证书请求?

java - 将图片从 Android 应用程序发送到服务器 http post

java - Glassfish 上的纯 Java 应用程序?

java - Vaadin 8 国际化 i18n

java - 使用 Guava Cache 作为 "helper"作为我自己的持久缓存是否可行?

java - 除了 Asc/Desc,还有其他使用 Mysql Order By 的方式吗?

java - spring下载excel文件