기본 ActiveMQ Broker가있는 번들을 배포 한 일반 Felix 기반 OSGI 환경이 있습니다. 나는 다른 OSGI 환경에 다른 번들을 설치하고 싶다. Active Directory 웹 콘솔 파일이 배치 될 임베디드 부두가 있어야한다. 내가 포함 된 부두 산란이 번들 (BundleActivator를 시작 방법)의 일환으로 war 파일을 배포하여 시도했다, 그러나 그것은 나에게 다음과 같은 예외 제공 -Felix에 활성 MQ 웹 콘솔 배포
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:431)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:393)
내가 번들 클래스 패스에있는 서블릿 API 항아리가를 (패키지를 가져 왔고 번들 배포 중에 해결됨). 또한 activemq-web-console-5.10.0.war 파일의 lib 폴더에 Servlet-API jar도 포함되어 있다는 것을 알게되었습니다.
Servlet-API jar가 중복되어이 예외가 발생하고 Servlet-API jar가 내 번들 클래스 경로에서 제거되었다고 생각합니다. 가져 오기를 제거하고 해당 패키지를 내보내는 번들 배포를 취소하여 시도했습니다.)하지만이 경우에는 내 번들이 배포되지 않고 배선 예외가 발생했습니다 (부두 의존성에 분명히 해당 병이 필요함).
war 파일을 압축하여 다시 압축하고 시도하고 싶지 않습니다.
참고 사항 :이 war 파일은 Karaf에서 성공적으로 배포되었지만 일반 Felix 기반의 OSGI env에서 자체 felix 실행기를 사용하여 배포하는 데 실패했습니다.
도와주세요! 임베디드 부두를 포함하는 번들이 배포됩니다
편집,하지만 난 그것을 시작할 때, 부두 예외 위 (war 파일을 배포)를 시작하는 동안이 발생되고
최종 편집