版权所有,转载请注明来源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/<ARCH>/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,而是用绝对路径则没有这样子的问题。