개발 중에 번들 내의 특정 파일 내용을 변경하고 다시 컴파일/번들 재설치없이 응용 프로그램에서 변경된 파일 내용을 볼 수 있어야합니다. 응용 프로그램의 내용이 필요할 때마다 파일이 Bundle.getEntry()
에 의해 읽혀집니다.bndtools/felix 환경에서 번들 리소스를 직접 변경하는 방법
Eclipse PDE와 Equinox를 사용하면 Eclipse 환경에서 시작된 OSGi 프레임 워크가 프로젝트 폴더를 압축 해제 번들로 취급하기 때문에 간단하게 종료됩니다. 프로젝트 폴더의 파일 변경 사항은 응용 프로그램이 자원 내용을 읽을 때마다 반영됩니다.
제대로 이해하면 bndtools는 자원의 변경이 감지 될 때마다 번들을 항상 다시 패키지합니다. 그러나 수백 개의 리소스 파일이있는 프로젝트의 경우 너무 많은 시간이 걸립니다. Eclipse PDE에서와 비슷한 동작을 얻을 수 있습니까? 아파치 펠릭스에서 선호 되는가? IDE에서 응용 프로그램을 시작한 경우에만 개발/디버깅 중에 만 이러한 기능이 필요합니다. 프로덕션 환경에서는 리소스가 절대로 변경되지 않습니다.
구체적으로 말하자면, 우리의 응용 프로그램에는 여러 CSS로 컴파일되는 많은 파일이 많이 있습니다. CSS는 LESS 파일이 변경된 직후에 생성됩니다. 이것은 gulp 및 node.js가 수행합니다. 페이지가 다시로드되면 즉시 CSS 파일을 변경해야합니다. 우리는 OSGi HTTP 서비스를 사용하고 있지 않습니다.
꾸러미를 정리하는 시간을 줄이기 위해 번들을 재배치한다고 가정 해보십시오. 여전히 - "번들 핫 대체"옵션이 있습니까? 즉, 실행중인 응용 프로그램이 번들을 다시 설치하지 않고 변경된 파일에 액세스합니까? – st33v3
Bndtools에서 시작하면 yes입니다. 번들은 변경 될 때마다 최신 업데이트됩니다. –