flex asdoc命令 jvm.dll加载错误

阅读更多

版权所有,转载请注明来源http://gogo1217.iteye.com,违者必究!

 

错误表现

在使用flex的asdoc命令时,出现如下错误:
C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.5.0\bin>asdoc
Error loading: C:\Program Files\Java\jdk1.6.0_26\jre\bin\server\jvm.dll

 

原因分析:

系统环境

win7 64位、系统环境变量的JAVA_HOME指向的是64位版本的jdk、flash Builder版本为4.5。

1、文件C:\Program Files\Java\jdk1.6.0_26\jre\bin\server\jvm.dll的确存在

2、在flex的sdk目录下找到配置文件jvm.config,该文件中描述了java的目录查找方式。

#
# 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
#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
#  1) JAVA_HOME environment variables (same rules as java.home above)
#  2) bin directory for java.dll (windows) or lib//libjava.so (unix)
#  3) ../jre
#  4) registry (windows only)
#

java.home=

 

当没有配置时,会优先查找JAVA_HOME路径,而我的环境中JAVA_HOME配置的是64位的JDK;flex需要调用的是32位的jvm.dll,因此加载失败。

 

解决办法:

可以指定java.home=变量的值,使得优先查找配置的变量。 将该变量改为flash Builder自带的jre或者其他32位的Jre,flash Builder自带的jdk目录为C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\jre。

修改为java.home=../../../jre  或者 java.home= C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\jre

使用相对路径或绝对路径都可以。

 

注意:使用相对路径时,不能在其他路径执行asdoc,如  不能在D:\workspaces下执行asdoc,而是用绝对路径则没有这样子的问题。

 

你可能感兴趣的:(asdoc)