2010-04-15 3 views
0

AS3/Flex 프로젝트에서 파일 및 패키지를 구성하는 방법에 문제가 있습니다. 이
as3/flex에서 가져 오기 및 패키지 구조

프로젝트의 파일 구조는 (그리고 유지한다)이 같은 :

libs/Class1/src/<files> 
libs/Class2/src/<files> 
libs/Class3/src/<files> 

AMXMLC 컴파일러 소스 경로 변수 포인트 : 문제에 대한 짧은 소개

libs/ 

Class3의 Class1을 서브 클래스화해야하기 때문에 필요합니다. 그 날이처럼 이상한 모양 패키지로 모든 클래스를 넣어 밀어 :

package ClassX.src { /* ... */ } 

그래서 실제로는 그 다음과 같습니다

package Class3.src 
{ 
    import Class1.src.Class1; // I prefer direct imports 

    public class Class3 extends Class1 { /* ... */ } 
} 

파일/폴더 구조를 유지하는 방법이 있나요 패키지 이름에 src을 제거하십시오. 옵션이 아닌 파일 구조 또는 직접 지시 컴파일러를 기본 클래스 디렉토리로 변경.
프로젝트에 참여하는 새로운 프로그래머에게는 정말 혼란스럽고 우리는이를 피하고 싶습니다.

에 대한 큰 감사 ANY 도움 !!!

+0

(또한 빌드 경로 옵션에서 프로젝트 속성에서 탭) 가져 오기 프로젝트의 라이브러리 경로에 플렉스 도서관 프로젝트를 추가해야 다른 프로젝트에서 플러그인을 가져 오려면 매우 혼란스럽고 특이합니다. 하지만 왜 구조가 처음부터 이렇게 설정되었는지 이해할 수 없습니까? lib 폴더에 src 폴더를 넣는 이유는 무엇입니까? 만약 라이브러리를 제공하고 싶다면'SWC'를 만들고 거기에 넣으십시오. – ilikeorangutans

+1

그것은 5 개 이상의 다른 프로그래밍 언어를 포함하는 svn 프로젝트이고 전체 프로젝트의 dirs 구조는 이와 같아야합니다. libs /는 오해의 소지가있는 이름입니다. 안에는 swc 라이브러리가 있지만, 앞서 언급 한 클래스는 기본 앱용 플러그인과 같습니다.각 ClassX는 하나의 플러그인이므로 swc에서 닫히는 표준 libs가 아니지만 각각 자체적으로 인스턴스화되며 일부는 서브 클래 싱을 위해 열려 있어야합니다. 단순화 된 import 문은 실제로 ** BEST ** 옵션입니다. 나는 그것을 강제하는 방법을 모른다. 안타깝게도 * dirs 구조에서 더 깊어지지 않습니다. – trzewiczek

답변

1

여기에는 두 가지가 있습니다. 첫 번째는 이러한 "플러그인"이 프로젝트에 포함되는 방식이고 다른 하나는 import 문입니다.

플러그인 정보 : SWC를 만드는 것이 좋습니다. SWC에있는 클래스를 하위 클래스로 만들 수 있으므로 코드를 가질 필요가 없습니다. 나의 직감은 이것이 많은 혼란을 야기 할 수 있다고 말한다.

가져 오기 정보 : 패키지 구조를 변경하지 않으면 해결 방법이 있다고 생각하지 않습니다. 알다시피 '*'는 패키지를 한 수준에서만 가져올 것이므로 모든 패키지/클래스를 가져와야합니다.

1

src 패키지를 제거하는 유일한 방법은 파일 구조를 변경하는 것입니다.

플러그인의 경우 별도의 "Flex Library Project"를 만들 것입니다. 그런 다음 플러그인 패키지를 해당 새 프로젝트의 루트 디렉토리에 직접 배치하거나 파일 구조를 변경하지 않으려 고 할 때 소스 경로 탭의 플러그인 플렉스 라이브러리 프로젝트 속성에 폴더를 추가 할 수 있습니다. Flex 라이브러리 빌드 경로.

은 내가이 동의

관련 문제