문제

org.eclipse.equinox.p2.examples.rcp.prestartupdate project를 가져 와서 RCP 응용 프로그램에 사용하도록 조정했습니다. 그런 다음 야간 빌드의 일부로 업데이트되는 업데이트 저장소를 설정합니다.

애플리케이션을 열면 업데이트와 같은 동작을 거치게됩니다. 업데이트 사이트를 찾고 각 번들에 대해 제거 및 설치를 올바르게 설치하고 오류없이 완료되었다고 말합니다. 문제는 프로필이 업데이트 되더라도 플러그인 폴더에 플러그인이 실제로 설치되지 않는다는 것입니다 (후속 실행은 업데이트가 없음). 다음에 빌드가 실행되면 올바르게 업데이트가 있음을 식별하지만 같은 일이 다시 발생합니다.

나는 며칠을 디버깅하고 평범한 곳에서 보이는 유일한 것은 (내가 무슨 일이 일어나고 있는지 완전히 이해하지 못한다는 것은 최종 구성 중에는 touchpointdata 객체의 어떤 지침이 없으므로 구성처럼 보이지 않는다는 것입니다. 해야 할 일을합니다.

나는 다음에 어디를 볼 곳이없고, 다른 사람이 아이디어가 있는지보고 싶습니다.

업데이트:

나는 마침내 무슨 일이 일어나고 있는지 알아 냈습니다.

메타 데이터 저장소를 생성하지 않고 제품을 만들 때 문제가 시작되었습니다. Eclipse를 통해 구축 할 때 P2 저장소가 필요하지 않았기 때문에 Export Product Wizards에서 "Metadata Repository 생성"을 확인하지 않았습니다. 문제는 해당 버튼을 확인하지 않으면 P2가 활성화되어 프로필을 생성하지 않는 것과 같은 부작용을 유발하여 제품이 설치되지 않다는 것입니다.

나는 내가 알게 된 코드에서 프로필을 수동으로 만들어서 이것을 보상하려고 노력했다. 내 프로필이 올바르게 설정되지 않았기 때문에 원래 문제가 생성되었습니다.

"Generate Metadata Repository"로 제품을 내보내기 시작하면 새 플러그인을 올바르게 설치하여 업데이트가 올바르게 시작되었습니다.

내가 지금 가지고있는 문제는 플러그인이 올바르게 설치되어 있지만 실행 파일이 쓰레기가 늘어나고 더 이상 응용 프로그램을 시작할 수 없다는 것입니다. Hudson과 Eclipse Export 제품 마법사를 사용할 때 존재하는 이진 폴더를 통해 업데이트 사이트를 구축하고 있습니다. 나는 그것이 지금 잘못되고 있다고 가정합니다.

바이너리가 내 헤드리스 PDE 빌드에서 구축하지 않는 이유는 무엇입니까?

이것을 알아 냈습니다. 나는 내가 필요한 모든 것이 내가 만들고 싶은 플랫폼의 개별 런처 플러그인 만 있다고 가정했다. 프로세스를 이해하려고했기 때문에 플러그인을 통해 빌드 서버에 하나씩 복사했습니다. 델타 팩에서 org.eclipse.equinox.executable 기능이 필요한 빌드에 플랫폼 특정 바이너리를 포함하는 것으로 밝혀졌습니다. 일단 건물에 이진을 추가하면 바이너리가 출력에 나타나기 시작했습니다. 바이너리와 함께 업데이트 메커니즘은 의도 한대로 정확하게 작동합니다.

도움이 되었습니까?

해결책

나는 내가 필요한 모든 것이 내가 만들고 싶은 플랫폼의 개별 런처 플러그인 만 있다고 가정했다. 프로세스를 이해하려고했기 때문에 플러그인을 통해 빌드 서버에 하나씩 복사했습니다. 델타 팩에서 org.eclipse.equinox.executable 기능이 필요한 빌드에 플랫폼 특정 바이너리를 포함하는 것으로 밝혀졌습니다. 일단 건물에 이진을 추가하면 바이너리가 출력에 나타나기 시작했습니다. 바이너리와 함께 업데이트 메커니즘은 의도 한대로 정확하게 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top