将mxmlc.exe 编译功能加入右键[原创]
8 十 2005
目前部署了Flex,提供主机或者虚拟主机很少,在国内尚未看到.当然你自己架设服务器不包括在内,这样意味着使用mxml在服务端实事生成swf难以实现.我们制作的Flex作品就没有使用的地方了吗?答案是否定的.
在Flex的安装目录中,在bin下面有个mxmlc.exe,类似于javac.exe.他就是将mxml文档编译成我们需要的swf文件的工具..
在cmd中运行她..出现使用方法
Usage: mxmlc [-version] [-configuration path] [-flexlib path] [-libpath path] [-systemclasses path] [-g] [-O0] [-profile] [-o path] [-headless] [contextroot root] [-proxyurl url] [-proxyhttpsurl url] [-proxyallowurloverride] [-gatewayurl url] [-gatewayhttpsurl url] [-remoteallowurloverride] [-webroot directory] [-aspath path] [-genlibdir dir] [-encoding file_encoding] [-namespace uri manifestfile] [-report] [-loglevel error|warn|info|debug] [-debugpassword password] [-accessible] [-batch] foo.mxml
经过网上搜索资料..和不断的测试,终于得出最好方法,只要使用下面参数就可以编译出swf,并且可以发不到网站使用.
mxmlc.exe -proxyurl http://* mxml文档绝对路径
这样就会在同mxml目录生成同命swf文件.可以供我们使用了..
但接下来的问题是编译时如何提高效率…难道每次都要在cmd下转到Flex\bin目录下 执行编译参数吗?非也.
我们来个将mxmlc关联到mxml文件..只要双击目标mxml文档就可以开始编译.
1)将处理参数写入批处理..将下面代码保存为c.cmd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@echo off D:cd "D:\Program Files\Macromedia\Flex\bin" :c cls mxmlc.exe -proxyurl http://* %1 if errorlevel=1 goto retry exit :retry echo Retry Now? pause goto c |
2)关联到mxml文档到右键菜单…将下面代码保存为mxmlfile.reg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\.mxml] @="mxmlfile" [HKEY_CLASSES_ROOT\mxmlfile] "EditFlags"=dword:00000000 "BrowserFlags"=dword:00000008 @="Flex 文件" [HKEY_CLASSES_ROOT\mxmlfile\Shell] @="Compile_to_swf" [HKEY_CLASSES_ROOT\mxmlfile\Shell\Compile_to_swf] @="使用 Flex mxmlc 编译" [HKEY_CLASSES_ROOT\mxmlfile\Shell\Compile_to_swf\command] @="\"D:\\Program Files\\Macromedia\\Flex\\bin\\c.cmd\" \"%1\"" |
将这几个文件放到D:\Program Files\Macromedia\Flex\bin,然后双击mxmlfile.reg,导入注册表,就可以使用了.方便快捷!
注意:本问中Flex安装在D:\Program Files\Macromedia\Flex 如果你是默认安装的话,请将盘符D改为C,或者读者自己使用的目录
有问题跟帖.
15 Responses for "将mxmlc.exe 编译功能加入右键[原创]"
-
文章用于windows 2000/xp/2003..
c.cmd 字符编码保存为为 ansi
mxmlfile.reg 字符编码保存为 utf-8
-
很有用啊~谢谢
-
真挺有用的,谢了
-
不错!
-
现在2.0的如何编译,好象没有此功能
-
怎么会呢?照样带了…不过Flex2编译出来的文件比Flex1.5更大了..
-
我按照你上面的方法做了以后,为什么会提示MXMLC.EXE不是内部命令,是什么原因?帮忙啊~我的油箱是[email protected]
-
不是内容命令应该是路径问题,你可以用完整的绝对路径,也可以在环境变量里设置
by smile_bug
-
“无法导入c:Program FilesMacromediaFlexinmxmlfile.reg:指定的文件不是注册脚本,您在注册脚本只能导入二进制注册文件。”
咋办?
-
应该不用这么麻烦吧?
我将flex里的配置文件项改完就可以生成并保留swf文件了。
第一次访问mxml时生成完,目录下就有同名的一个swf文件了
-
我在2003下,装了flex2.01,好象不行,cmd下运行mxmlc.exe文件出现不了你说的那些东西,我也到注册表里查了,那个reg文件没问题.能说说原因吗,谢谢
-
这篇文章针对的还是flex 1.5
flex 2.0 没有这么麻烦了.你其实可以用flex builder来编译生成swf.
如果你用mxmlc来编译的话.请在jvm.config中制定好java.home,再将你的mxml app文件用mxmlc打开既可,为了日后方便,最好给mxml文件设置为mxmlc关联编译.
-
flex 2.0 he flex 3.0 生成swf 具体如何设置啊?
2005-10-08 16:10