RCP4 애플리케이션을 구축 중입니다.RCP4 프로젝트에 비 osgi 항아리 추가
나는 a.jar 및 b.jar라는 두 개의 non-osgi jar를 가지고 있습니다. 두 항아리에는 모두 osgi가 아닌 종속성이 있습니다. a.jar의 종속성 중 하나는 b.jar입니다. 따라서 계층 구조는 다음과 같습니다
My application
|--a.jar
|----aDependency1.jar
|----aDependency2.jar
|----aDependencyN.jar
|----b.jar
|------bDependency1.jar
|------bDependency2.jar
|------bDependencyN.jar
bDependencyN.jars의 일부는 aDependencyN.jars 의 다른 버전 (예는 평민 로깅-1.1.2 대 평민 로깅-1.0.4.jar입니다입니다 .jar)
내 RCP4 응용 프로그램에서 a.jar 및 b.jar을 직접 참조해야합니다. 내가 코드를 작성할 때 즉, 나는에 a.jar에서 패키지를 가져올 것입니다 만, b.jar)
가장 좋은 방법입니다: 명령 줄을 통해 2.4 BND
사용하는 모든 비를 설정하는 -osgi 항아리가 osgi 항아리에 들어갑니다. 그런 다음 대상 파일을 통해 모든 jar 파일을 프로젝트에 추가합니다.
"기존 JAR 아카이브에서 플러그인"을 만들고 a.jar 및 모든 종속성을 선택하고 "deployable plugin and fragment "a.with.libs.jar라고 불렀습니다. 나는 b.jar와 똑같이하고 b.with.libs.jar를 만든다. 그런 다음 대상 파일을 통해이 두 개의 새로운 jar 파일을 프로젝트에 추가합니다.
새 프로젝트 "기존 JAR 아카이브에서 플러그인"을 만들고 a.jar 및 모든 종속성을 선택하고 b.jar 및 모두를 선택합니다. 그 종속성을 ab.with.libs.jar라고하는 "배치 가능한 플러그인 및 단편"으로 내 보냅니다. 그런 다음 대상 파일을 통해 프로젝트에 새 항아리를 추가하십시오.
위의 제안보다 나은 접근 방법이 있습니까?
안녕하세요. 응답 해 주셔서 감사합니다. 현재 프로젝트에서 Maven을 사용하지 않고 Gradle을 사용한 적이 한번도 없습니다. bnd 플랫폼 웹 사이트에 관한 문서는 좀 더 진보 된 것처럼 보이고 위의 예제를 반영하는 올바른 grad 파일을 어디에서 시작해야할지 모르겠습니다 (모든 로컬 항아리). – ekjcfn3902039
모든 로컬 Jars (Maven 종속성이 아닌) 인 경우 bnd-platform은 전이 의존성을 자동으로 추가 할 수 없기 때문에 약간의 이점을 잃습니다. 위에서 언급 한 템플릿을 사용할 수있는 출발점으로, 로컬 종속성 섹션 만 있으면 Jars를 추가하기위한 문서에서 https://github.com/stempler/bnd-platform#local-dependencies를 추가 할 수 있습니다. – stempler