2013-06-18 4 views
1

netbeans로 만든 EJB/웹 프로젝트가 있습니다. netbeans으로 프로젝트를 만들었 기 때문에 프로토 타입을 빨리 만들 수 있습니다. 이제 저는 이것을 Gradle로 바꾸고 있습니다. 나는 귀 플러그인 내 structur 루트 라이브러리 폴더에 의존성 배치

-root 
|-- ejb.jar 
|-- web.war 

가 구축을 사용하고 있습니다. 내 종속성은 각 하위 프로젝트 (ejb 및 web)의 build.gradle 파일에 정의되어 있습니다. 이제 ejb/lib 및 web/lib 폴더에서 shatterd 대신 ear/lib 폴더에 내 종속성을 지정하고 싶습니다. earlib 종속성의 개념을 알고 있지만 내 웹 및 ejb 프로젝트에서이를 지정하지 않아도됩니다. 이 작업을 수행하기 위해 개미 작업을 작성해야합니까, 아니면 우아한 방법이 있습니까? 나는 netbeans 빌드 전쟁을 가능한 한 잘 표현하려고합니다.

답변

0

적절한 해결책은 종속성의 범위를 관리하는 것입니다. 항아리 프로젝트에서

는 종속성이 컴파일 범위 장소,이 전쟁 프로젝트에서

을 포장 할 때 항아리가 종속성을 추가하지 않기 때문에, 의존성이 providedCompile 범위에 위치, 괜찮습니다. 이것은 내 전쟁을 컴파일 할 수는 있지만 내 라이브러리를 패키징 할 수는 없다.

내 프로젝트의 루트에서 귀에 파일을 만듭니다. 이 빌드 파일에서 earLib 범위를 사용하여 모든 종속성을 다시 추가했습니다 (여전히 의존성을 두 번 정의했기 때문에 여전히 잘못되었습니다). 그렇게함으로써 내 의존성은 내 프로젝트의 루트에 정의 된 lib 폴더에 위치하게된다.