2013-04-02 12 views
1

필자는 외부 OSGi 번들을 PDE 프로젝트에 추가 할 수 있으며 대상 플랫폼에 표시되도록 할 수 있습니다 (새 프로젝트를 추가하면 다시로드해야 함). "lib" 각 프로젝트의 디렉토리.Ivy에서 Eclipse PDE 대상 플랫폼에 종속성을 추가하는 방법은 무엇입니까?

내 프로젝트가 점점 복잡 해짐에 따라 Spring 번들이 필요하며, Ivy (Ivy DE 플러그인)에서 종속성을 관리하려고합니다. 이것은 클래스 패스에 추가되는 모든 번들을 찾는 훌륭한 작업이었다.

문제는 대상 플랫폼에 추가해야하기 때문에 대상 플랫폼에서 Ivy 종속성을 볼 수있는 방법을 찾을 수 없다는 것입니다.

가능한 해결 방법은 Ivy 종속성을 lib 디렉토리에 복사하는 것입니다. 나는 아이비에게 매우 익숙하며 의존성을 로컬 디렉토리에 복사하는 방법을 볼 수 없다. (그렇게하면 아이비의 요점을 무시하는 것처럼 보일 것이다). 필자는 또한 아이비 캐시를 대상 플랫폼에 추가하는 방법을 보았지만 캐시의 디렉토리 구조로 인해 Eclipse에서 모든 번들을 찾을 수 없었습니다.

+0

이러한 종속성을 로컬에 복사하는 방법 : http://stackoverflow.com/questions/3256273/how-do-i-get-ivy-to-copy-the-dependencies-to-the-lib-directory-when- using-it-fro –

+0

또한 ivy의 대안으로 maven과 tycho를 살펴보십시오. http://eclipse.org/tycho/. (Ivy는 훌륭하지만 내 경험으로 Eclipse 플러그인 개발에 더 무거운 것을 필요로한다.) –

답변

1

Ivy는 주로 ANT 빌드 내에 포함되도록 설계되었습니다. 이 경우 당신은 당신의 빌드 작업 공간 내에서 파일을 저장할 위치를 결정하는 검색 작업을 사용할 수 있습니다

<ivy:retrieve pattern="${dist.dir}/WEB-INF/lib/[artifact].[ext]" conf="runtime"/> 

나는 담쟁이 이클립스 플러그인에이 기능이 순수 이클립스 빌드 수 있는지 여부를 전문가가 아니에요.

+0

@Kevin, 내가 아는 것은 아니다. PDE 개발은 꽤 이국적이며, IvyDE가 그 사실을 모르는 유일한 것이 아님을 알게 될 것입니다. –