新工作的第一个功能即将开发完毕,但是在发布的时候遇到点问题。因为工程浩大,版本更迭的编译发布是个严峻问题,这边使用Ant来解决 。其他人都用FDT做开发,Eclipse本身就有Ant插件,所以用起来自然而然,没遇到过什么问题。而我用FD,FD不支持类似的插件,所以必须用命令行进行编译。
于是问题来了,当我下载Ant并运行时,报错:
Error loading : C:\Program Files\Java\jre6\bin\client\jvm.dll
马上求助于google,倒是查到不少解答,但没有一个能解决我的问题。其中有个听起来挺靠谱,说是系统、mxmlc、jre非同一个版本(或同一个bit数),结果经验证也不行。于是乎从头学起,把项目使用的build.xml拆开一步一步执行,终于发现,其实是mxmlc编译时出了问题。直接在命令行里运行mxmlc,系统提示,找不到“msvcr100.dll”。
再次Google,发现因为少这个文件出问题的人还挺多,于是下载之,然后放到windows\SysWOW64目录下(为防万一我还往system下放了一份,不过没有验证这样做是否多余),再次运行Ant编译,成功。
于是我得出以下结论:
调用Ant编译时,执行mxmlc出错,但是Ant并未捕获到错误的真正内容,于是报告了默认错误——“Error loading : jvml.dll。其实这个错误并未包含真正的错误信息,从这个错误出发也无法找到问题所在。
但是,通过FD自带的编译批处理功能,是可以正常编译的,不会报什么缺少dll的错。为什么通过Ant编译会出错,为什么系统会又缺少msvcr100.dll,我还不得而知。总之吧,问题解决了,以后出问题再说吧。
最后,放上msvcr100.dll下载,方便大家。 下载地址
欢迎吐槽,共同进步