在 IDEA 下 debug Flex 的方法(图文)

来源:互联网 发布:mac三指拖动窗口 编辑:程序博客网 时间:2024/06/05 06:47

前言:

1)IDEA 这款 IDE 在国内还不普遍,个人感觉对 Java(maven)项目和 Flex (maven) 项目有非常好的支持,官网地址 在这里。

2)开发程序离不开debug,这里将介绍在 IDEA 下进行 Flex debug 的步骤,其他内容不在本文范围。

 

开发环境:

Flex SDK 4, Maven3.0, flexmojos plugin 3.8, spring security 3.0, blazeds 4.0...

 

1、启动 server

这个没什么好介绍,开发环境不同启动方式也不同,目的是让 blazeds amf channel  能够被 swf 正常连接到。

如果 swf 不需要后台交互,则可跳过这步。 

 

2、定义 flex 项目的 pom.xml

目的也是让 swf "知道"连接到 server destination 的各项参数,具体配置的 pom.xml 在 这里 有涉及。

如果 swf 不需要后台交互,或者之前已设定过,则可跳过这步。

 

3、设置 flex 项目 debug 运行方式

打开 default application 的 mxml,右键菜单中选择 "create..." ,如图:

 

4、设置重要参数

Launch: 读取的方式

Launch with:用什么读取

Use debugger from SDK: 之前已定义好的flex sdk

 

默认是用 flashplayer 打开编译后的 swf,可以根据项目需要,由用户自由定制,非常灵活。

如果 swf 不需要后台交互,使用默认配置即可。

 

由于项目需要,server 端使用 blazeds ,且需要首先通过 spring security 认证,所以我使用的是:

debug前先编译,然后用 firefox 打开 spring security 的认证页面,登陆之后再去读取相应的 swf。

Before lanuch :

各项运行前的高阶设定,一般不需要改动。

 

Make:

保持运行的 swf 和代码相一致,自动 compile;

 

Build Artifacts:

build 一个或多个 artifact, 一般是和 debug 项目相关的 artifact。

 

Run ant target:

运行 pom 中预定义的 ant 指令;

 

Run maven Goal:

运行一个 maven 指令, 比如,我需要用 html wrapper 调用编译好的 swf , 那么我先选择一个 mvn flexmojos:wrapper ,那么 debug 之前自动会生成一个 html wrapper。

 

show settings:

显示 debug 设定页面,待用户确认后再执行 debug ,非常体贴的设定 :)

 

 

5、点击 "debug"

需要从顶部菜单中点击debug,而不是右键菜单中的debug。

 

 

6、运行到断点

截图:

就可以开始你熟悉的 debug 操作。 

 

补充相关问题:

1) 如果使用 flexmojos,需要在 configuration 节点中设置 debug 为 true,默认值 true;

2) 如果使用 maven-jetty-plugin 运行 server,  jetty 的默认设置 useFileMappedBuffer = true, 会造成compile-swf 文件无法覆盖原文件,出现文件锁定报错。

其中一个解决方法:直接将 jetty jar 包中 org/mortbay/jetty/webapp/webdefault.xml 中的 useFileMappedBuffer  更改为 false。