태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
밤하늘의 실제별, 나도 가질 수 있다?!

[Flex] Flex Builder에서 나만의 manifest 만들기

2008/09/23 12:04

 

[공지]이미지나 링크가 깨졌다면 댓글 부탁드립니다.

Flex에서 Flex Library Project로 SWC를 만들게 된다.
이때, 제작된 Class들은 각자의 namespace안에 들어가 있으므로 Flex Project에서 아래와 같이 사용해야할 것이다.

<?xml version="1.0" encoding="utf-8"?>

<mx:Application

        xmlns:mx="http://www.adobe.com/2006/mxml"

        xmlns:map="com.starpl.map.*"

        xmlns:minimap="com.starpl.map.minimap.*"

        xmlns:controller="com.starpl.map.controller.*"

        layout="absolute">

        <map:Map/>

        <minimap:MiniMap/>

        <controller:ZoomControl/>

</mx:Application>

 


위 코드에서 볼 수 있듯이 Map, MiniMap, ZoomControl 컴포넌트들은 각각 다른 namespace(각각 map,minimap,controller)를 가지게 되기 때문에 사용하기 번거롭다.

<?xml version="1.0" encoding="utf-8"?>

<mx:Application

        xmlns:mx="http://www.adobe.com/2006/mxml"

        xmlns:map="http://www.starpl.com/2008/mxml"

        layout="absolute">

        <map:Map/>

        <map:MiniMap/>

        <map:ZoomControl/>

</mx:Application>


위 코드처럼 Flex SDK에서 제공하는 컴포넌트에서 mx를 사용하듯이 namespace인 map으로 사용하고 싶다면 다음과 같은 과정을 따라서 SWC를 만들면 되겠다.

1. 컴포넌트 제작

Flex Library Project를 만들고 위에서 src폴더에 com.starpl.map.Map, com.starpl.map.minimap.MiniMap, com.starpl.map.controller.ZoomControl 을 만든다.


2. manifest 목록 작성

src폴더에 manifest XML 파일을 작성한다. 나는 starplmap-manifest.xml 이름으로 다음과 같이 작성했다.

<?xml version="1.0"?>

<componentPackage>

    <component id="Map" class="com.starpl.map.Map"/>

    <component id="MiniMap" class="com.starpl.map.minimap.MiniMap"/>

    <component id="ZoomControl" class="com.starpl.map.controller.ZoomControl"/>

</componentPackage>




3. Project에 작성한 manifest를 컴파일 옵션에 추가

메뉴에서 Project > Properties 를 선택하고 창 왼쪽 메뉴의 Flex Library Complier를 선택하면 아래와 같은 화면을 볼 수 있다.

아래 Namespace URL과 Manifest file을 아래와 같이 등록하고 OK 버튼을 누르면 되겠다.

사용자 삽입 이미지


위와 같이 하면 프로젝트의 .flexLibProperties 파일에 아래와 같은 태그가 자동으로 삽입된다.

<namespaceManifests>

<namespaceManifestEntry manifest="starplmap-manifest.xml" namespace="http://www.starpl.com/2008/mxml/map"/>

</namespaceManifests>



4. SWC 배포

bin 폴더에 만들어진 swc파일을 다른 프로젝트의 Lib에 적용해서 사용하면 되겠다.


관련자료

[FLEX] flex-config.xml
flex 사용자정의 manifest 만들기 


글쓴이 : 지돌스타(http://blog.jidolstar.com/372)
크리에이티브 커먼즈 라이선스
Creative Commons License

Adobe Flash Platform , , , , , , ,

Trackback 주소: http://blog.jidolstar.com/trackback/372
  1. 우웃... 이 금단의 비법을 공개하시다니 ㅋㅋ
    '있어보이는 라이브러리' 만들기 중 하나인 manifest 설정 ㅎㅎ

  2. 이 비법을 이미 알고있었단 말입니까?
    역시 고수십니다. 꾸벅!

  3. 코드 설레발은 제 전문 분야라서 ㅎㅎ;

  4. 오홋!!! 유용하군요!

  5. ㅎㅎㅎ 유용하죠 ^^

  6. Blog Icon
    mello

    매번 구경만하다 감탄을하고 글을쓰게됐어요ㅋㅋ
    정말 있어보이는군요..^^
    항상 노력하시는 모습이 많이 힘이 되서 감사할 따름입니다.

    질문이 하나 있습니다만..
    Flex Library Project에서 sdk버전 Flex Gumbo 4.0.0.4021 를 설정하고
    physics 라이브러리중 motor2 소스 랑 여러 소스를 합친
    SWC를 만들던도중.. 이런애러가 뜨며 안되던데..

    1046: 유형이 없거나 컴파일 타임 상수가 아닙니다: Vector.

    문제인즉 flex sdk 3.x 또는 FP9버전대에서 없는 Vector클래스가 없어서 나오는 애러같습니다.
    그렇지만 ActionScript project 에서는 문제없이 컴파일이 됬었는데 말이죠..

    혹시 SWC제작할때만 나오는 이 애러의 해결방법이 있을까요?

  7. Blog Icon
    지돌스타

    Flash Player 버전 설정이 9 이하로 되어 있을 겁니다. 10이상으로 조정해주세요 그래야 됩니다.
    mxmlc 를 사용하는 경우 -target-player=10.0.0 으로 하면 됩니다.
    생성하신 프로젝트의 Project->Properties->Flex Compiler
    에 Additional Compiler argument에 -target-player=10.0.0를 넣어주시고 HTML wrapper에 Flash Player vesion을 10.0.0 으로 바꿔주세요.

  8. Blog Icon
    mello

    감사합니다... 도다른 애러가 뜨긴했는데 찾을수 잇을것 같아요.
    꾸벅꾸벅^^

  9. 역시 왠만한 정보는 다 여기서 찾게 되는군요. ^^

  10. ㅎㅎ 찾아주셔서 감사~합니다.