1.5节. 在Flex Builder外部编译Flex项目

1.5. 在Flex Builder外部编译Flex项目<o:p></o:p>

<o:p></o:p>

1.5.1. 问题<o:p></o:p>

我不想在Flex Builder里进行编译项目<o:p></o:p>

1.5.2. 解决办法<o:p></o:p>

使用终端或命令行窗口调用MXML编译器<o:p></o:p>

1.5.3. 讨论<o:p></o:p>

虽然Flex Builder是一个功能强大的Flex开发工具,但是这不是创建Flex程序所必需的,你仍然可以用Flex编译器(mxmlc)来编译Flex代码,Flex编译器是免费的,在Adobe网站上可免费下载。在Windows下的命令行或Mac OS X的终端里调用MXML编译器,以及待编译文件作为参数,例如:<o:p></o:p>

home:base$ . /Users/base/Flex SDK 3/bin/mxmlc ~/Documents/FlexTest/FlexTest.mxml <o:p></o:p>

 <o:p></o:p>

上面通过目录中的编译器编译MXML文件,在终端或命令行窗口会显示可能出现的编译警告和错误。如要添加MXML编译器选项,可在调用编译器命令时追加参数,例如:<o:p></o:p>

home:base$ ./mxmlc ~/Documents/FlexTest/FlexTest.mxml  -output=/Users/base/test/genera <o:p></o:p>

ted/Index.swf -library-path+=/Users/lib/MyLib.swc <o:p></o:p>

 <o:p></o:p>

产生的SWF文件被重命名为Index.swf,被保存在/Users/base/test/generated/,编译时引入SWC 库/Users/lib/MyLib.swc 。<o:p></o:p>

要调用MXML编译器,可直接在命令行下输入命令而不需要指定SDK全路径(例如C:\flex_sdk_3),当然在之前你需要添加bin目录到系统的Path的环境变量。<o:p></o:p>

<o:p></o:p>

在 Windows 上:<o:p></o:p>

1. 打开控制面板的系统选项<o:p></o:p>

2. 选择高级标签.<o:p></o:p>

3. 点击环境变量<o:p></o:p>

4. 在系统变量中,找到Path,双击它。<o:p></o:p>

5. 加入SDK的bin目录路径 (Figure 1-11).<o:p></o:p>

<o:p></o:p>

Figure 1-11. 设置Flex SDK 3 Path 变量

1.5节. 在Flex Builder外部编译Flex项目
<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

<o:p></o:p>

6. 设置好后,打开命令行,定位到项目目录,输入下面的命令:<o:p></o:p>

C:\Documents\FlexTest> mxmlc FlexTest.mxml<o:p></o:p>

这样会在C:\Documents\FlexTest目录下生成FlexTest.swf文件,因为已经在先前设置好了SDK路径,这里调用编译器时就不用输入全路径了。<o:p></o:p>

7. 如果在第6步产生如下错误信息:<o:p></o:p>

Error: could not find JVM<o:p></o:p>

这时你需要手动指定Java Runtime Environment (JRE)安装路径,打开Flex 3 SDK的bin目录,用文本编辑器打开jvm.config文件,找到java.home变量(没有则添加之)。设置你的JRE安装路径:<o:p></o:p>

java.home=C:/Java/jre<o:p></o:p>

<o:p></o:p>

在 Mac OS X 或 Linux:<o:p></o:p>

打开.bash_profile文件(如果你是使用Bash)编辑path变量,如下:<o:p></o:p>

PATH="${PATH}:~/flex3SDK/bin" <o:p></o:p>

export PATH<o:p></o:p>

.bash_profile文件保存在你的home目录下(可通过cd ~目录查看),如果你使用的是tsch,则需要编辑 .profile文件<o:p></o:p>

PATH="${PATH}:~/flex3SDK/bin" <o:p></o:p>

export PATH<o:p></o:p>

<o:p>
</o:p>

你可能感兴趣的:(jvm,linux,OS,Flex,bash)