2009-06-04 6 views
3

우리는 Axis2 스텁, 스켈레톤 등 대부분 자동 생성 클래스를 가지고 있습니다. 복잡한 wsdls의 경우 Axis2는 Java bean, 스텁 등의 TON을 생성합니다. 그리고 자동 생성이 사용될 때 다른 경우도 있습니다.자동 생성 된 코드를 넣기 좋은 곳입니까?

이제 우리는 이것을 코드베이스의 다른 일등 구성원으로 취급하며 동일한 패키지에 저장됩니다.

그러나 리팩토링, 정리 등을 수행 할 때 이러한 자동 생성 클래스에서 오는 경고를 제거하기가 어려워집니다. 예를 들어, Java1.5 제네릭을 사용하기 위해 코드를 정리하려고하면, 우리가 생성 한 클래스 중 몇 개가 자동으로 생성되는지 알 수있는 좋은 방법이 없습니다.

이러한 자동 생성 된 부품을 다른 패키지로 분리해야합니까? 어떻게 그런 유물을 저장소에 저장합니까?

편집 : 아래의 답변에서 '빌드 프로세스 중 생성'을 참조하십시오. 내가 그렇게하는 것의 이점을 보는 동안, 나는 저장소 체크 인에서 어떻게 벗어날 수 있는지 알지 못한다.

내 코드는 이러한 클래스 중 일부에 대한 컴파일 시간 의존성이 있으며 나에게있어 개발 중에 빌드는 Eclipse에서 'ctrl-s'입니다. 우리는 ant-scripts를 사용하여 컴파일을 생성하고 테스트를 실행하며 산출물을 생성합니다.

답변

5

우리는 동일한 패키지를 유지할 수 있지만 생성 된 src와 같은 다른 소스 폴더를 사용할 수 있습니다. 나는 실제로 생성 된 코드를 소스 코드 저장소에 저장하는 것에 대한 전체적인 생각에 대해서 울타리에 서있다. 우리는 프로젝트에서 다른 개발자가 편리하게 사용할 수 있지만 일반적으로 빌드 프로세스의 일부로 소스 코드를 다시 생성하는 것이 좋습니다. 생성 된 코드가 변경되지 않을 경우, 별도의 프로젝트를 사용하고 항아리를 생성하는 것이 더 실용적 일 수 있습니다.

6

나는이 파일들을 자신의 프로젝트에 넣었습니다. 이 방법으로 빌드 파일과 필요한 모든 패치 등을 한 곳에서 추가하고 생성 된 코드에 대한 모든 경고를 해제 할 수 있습니다.

+0

또한 빌드 시간을 상당히 –

+0

좋은 아이디어를 보낼 것입니다, 그것은 필요와 복잡한 객체에 대한 몇 가지 빌드 시간을 절약 할 수 있습니다하는 것은 생성 할 고려 . 간단한 객체의 경우 시간 차이가 거의 없습니다. – Salandur

1

생성 된 아티팩트의 각 집합에 대해 생성을 수행하는 새 프로젝트를 만든 다음이 아티팩트를 JAR 및 소스 ZIP 파일로 묶은 다음 앱에서 참조하십시오. 멋지고 분리 된 것을 유지하고 생성 된 아티팩트가 IDE에 의해 변경되지 않는다는 사실을 강조합니다.

2

소스 제어 시스템을 검사하는 경우 이 아닙니다. 빌드 단계에서 다시 생성되도록하십시오. WSDL에서 생성 된 경우 결과 코드가 아닌 WSDL을 체크인하십시오.

생성 단계에서 생성 된 코드에 대해 완전히 별도의 .jar를 생성 한 다음 원본 파일을 삭제하는 것이 좋습니다. 관리자가 자동 ​​생성 소스를 직접 수정하려고 시도하지 않도록하십시오. .

그런 식으로 리팩터링 작업을 수행하면 자동 생성 된 코드가 조작 할 소스 대신 타사 라이브러리처럼 표시됩니다.

+0

+1 "generate from original"! –

0

(maven 및 axistools-maven-plugin) 생성 된 소스는 'target'디렉토리의 다른 소스 폴더에 있습니다. 이 대상 디렉토리는 maven이 모든 파일과 자료를 생성하므로 정리할 수 있습니다.
생성 된 파일이 IDE 내의 다른 소스 폴더에도 나타나기 때문에 매우 편리합니다.모범 사례의

7

요약 :

  • 은 빌드 프로세스의 일부로 반복
    • 만들기 생성 된 코드를 확인합니다.
    • 생성 된 코드를 소스 제어로 확인하지 마십시오. (소스에서 확인 마십시오. 예를 들어, WSDL)를
  • 보관할 관리 코드
    • 를 사용하여 생성 된 출력에 대해 다른 소스 폴더에서 별도의 코드를 생성합니다.
    • 생성 된 코드가 종속되도록 별도의 .jar를 제공하십시오.
    • 다른 IDE 프로젝트 (또는 받는다는 모듈)을 사용하여
관련 문제