karaf 작업의 업데이트 메커니즘을 만드는 핵심은 deploy 폴더를 사용하는 대신 maven에서 배포하는 것입니다. 이 같은 번들 설치 :
install -s mvn:groupid/artifactID/version
또는
install -s mvn:groupid/artifactID/version/typeOfMavenArtifact
두 번째 예 전쟁/WAB 아티팩트 설치에 유용합니다. 전체 메이븐 프로토콜 사양은 here입니다.
그런 다음 Karaf는 번들의 출처를 알고 있습니다. la -u
을 사용하여 확인할 수도 있습니다. 이것은 karaf가 지금 maven uri가되어야하는 업데이트 위치를 보여줍니다. 모든 카라프 번들에는 이와 같은 업데이트 위치가 없습니다.
이제 maven을 사용하여 프로젝트의 새 빌드를 만들면 로컬 메이븐 저장소로 끝납니다. 다음 단순히
update <bundleid>
이 (당신 지역 받는다는의 repo 귀하의 경우) 업데이트의 위치를 확인하고 거기에서 번들을 다시 karaf하게 실행합니다. 3+
bundle:watch
이가 배포 한 당신이 스냅 번들의 변화를 REPO을 받는다는 확인하고 자동으로 재배치 karaf 것
는
당신은 더
dev:watch
또는 karaf 위해를 사용하여이 작업을 자동화 할 수 있습니다 이들.
또한 원격 디버깅과 함께 매우 잘 작동합니다.
export KARAF_DEBUG=true
을 시작하기 전에 사용하십시오. 그런 다음 포트 5005에서 디버거를 수신합니다.
그런 다음 동일한 포트에서 원격 디버그 이클립스 세션을 시작하고 karaf에서 애플리케이션을 멋지게 디버깅 할 수 있습니다. 위의 방법 중 하나를 사용하여 번들을 변경하더라도 매우 잘 작동합니다. 따라서 디버깅, 문제 찾기, 코드 변경, 변경된 버전으로 디버깅을 계속 진행할 수 있습니다.
카라프 코드베이스 자체에서 작업 할 때도 자주 사용합니다. 카라프 자체의 번들 대부분에서도 작동하기 때문입니다.
IDE에서 직접 OSGi 프레임 워크를 실행하지 않는 이유는 무엇입니까? –
각 응용 프로그램을 실행할 때 Karaf/OSGI 프레임 워크 시작을 제안 하시겠습니까? 또는 IDE를 사용하여 Karaf에서 번들 배포를할까요? –
OSGi 프레임 워크를 실행할 때마다 번들을 OSGi 프레임 워크에서 실행할 것을 제안합니다. Karaf는 응용 프로그램 서버이므로 개발을 위해 배포하지 않을 것입니다. –