2012-06-08 1 views
0

프로젝트 A의 빌드 파일에는 <path>;하나의 빌드 파일에 정의 된 클래스 경로를 다른 빌드 파일에서 참조 할 수 있습니까?

프로젝트 B의 빌드 파일에서 프로젝트 <java> 작업으로 도구 클래스를 실행하고 싶습니다.

<java> 작업은 "classpathref"속성에서 해당 경로를 사용해야합니다.

프로젝트 A의 빌드 파일에있는 <path>은 프로젝트 B의 빌드 파일에 복사하지 않으려면 상당히 복잡합니다.

하나의 빌드 파일에 정의 된 클래스 경로를 다른 빌드 파일에서 참조 할 수 있습니까?

답변

0

import 또는 include ANT 작업을 사용하는 방법입니다. 그러나 이것들은 모두 다중 빌드 빌드를 설계 한 것입니다. 이 방식으로 두 개의 서로 다른 프로젝트를 결합하는 것은 일반적으로 정말 나쁜 생각입니다 ....

동기 부여를 이해합니다. 클래스 경로 관리는 Java 빌드에서 가장 중요하고 오류가 발생하기 쉬운 부분 중 하나입니다. 내 추천은 Apache ivy을 채택하여 빌드의 타사 종속성을 관리하도록하는 것입니다.

예 :

담쟁이 cachepath 작업 종속성 선언을 사용하여 ANT 경로를 만듭니다.

<ivy:cachepath pathid="test.path"> 
     <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.4" conf="default"/> 
     <dependency org="junit" name="junit" rev="4.10" conf="default"/> 
    </ivy:cachepath> 

항아리 자체가 로컬로 저장하거나 Maven Central 저장소에서

+0

프로젝트 A의''검색 할 수 있습니다 (이름 : projectA.classpath가) LIB 디렉토리와 일반 텍스트를 가리키는 여러''s을 (를) 포함 ';'컴파일 된 출력 디렉토리를 포함하는 분리 된 속성. 프로젝트 A는 우리 회사의 주요 프로젝트입니다. 프로젝트 B는 프로젝트 A의 자동 벤치 마크 시스템이며, 작고 단순하게 유지하고 타사 라이브러리의 사용을 줄이기를 원합니다. 나는 A의 도구를 사용할 필요가 있지만 도구는 A의 build.xml에 정의 된 A의 "project.classpath"를 필요로합니다. – coolcfan

0

개미는 import 개의 프로젝트 파일을 다른 프로젝트 파일에 허용합니다. 대부분의 경우에 필요한 '가져온 파일과 파일 비교'섹션을 확인할 수 있습니다.

관련 문제