사용자로부터 여러 Maven 종속성 목록을 가져 와서 포함 된 응용 프로그램으로 해결하고로드합니다. 다음 단계는 다음과 같습니다Maven 의존성을 기반으로 포함 된 응용 프로그램을 프로그래밍 방식으로 빌드하고 실행하십시오.
- 는 오드 모든 의존성이 오드와 (DONE)
- 해결 클래스 경로 (DONE)
- 는 위의 번들 (DONE) 모든 메이븐 의존성
- 해결의 목록을 수집 분리 된 "컨테이너"(충돌 가능성이있는 다른 Maven 의존성이 사용될 수 있도록).
- 다른 목록과 반복하십시오.
일부 컨텍스트 제공 : 다른 버전의 라이브러리 세트에 의존하는 다른 (자연어 처리) 파이프 라인을 실행하려면 위의 UIMA 컨텍스트에서 위의 내용을 사용하고 싶습니다. 내 목표는 RESTful 방식으로 호출 할 수있는 (Maven) 의존성과 파이프 라인을 정의하는 주석 서버를 만드는 것이다. 파이프 라인 (및 해당 종속성)은 클래스 패스 충돌을 피하기 위해 포함 된 클래스 경로 환경에서 각각 실행해야합니다.
OSGi는 갈 길이 있습니까? 클래스 패스 (: = 해결 된 jar 목록)를 기반으로 OSGi 번들을 빌드하고 배포 할 수 있습니까? 모두 프로그래밍 방식으로? 필자는 Maven 종속성 (UIMA 구성 요소입니다.)을 제어 할 수 없으므로 OSGi 메타 데이터를 추가 할 방법이 없습니다.
감사합니다. @nrapopor, 좋은 생각 같아요. 서블릿 컨테이너 내부의 "방화벽으로 연결된"클래스 로더에 대해 자세히 설명해 주시겠습니까? UIMA가 Class.forName() 호출을 사용한다는 것을 알고 있습니다 - 작동합니까? 글쎄, 나는 단지 보려고 노력할 것 같다. 다시 한 번 감사드립니다. – Renaud