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

前言:

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章