문제

기능이 있고 'ID를 변경하고 싶습니다. 그러나 이렇게하면 기존 설치를 업데이트하는 것이 불가능하며 다음과 같은 이유가 있습니다.

  1. 버전 1.0의 기능 F1이 버전 1.0의 플러그인 A로 구성되어 있다고 가정하십시오.
  2. 이제 버전 1.1에서 플러그인 A를 사용하는 버전 1.1의 기능 F2를 갖고 싶습니다.
  3. F2를 설치하면 오류가 발생합니다. 이미 버전 1.0에서 플러그인 A가 필요한 FEACT F1이있어서 플러그인 A 1.1을 설치하면 해당 종속성이 무효화됩니다.

F2가 F1을 대체한다는 것을 나타내는 방법을 찾고 있습니다. 어떻게 할 수 있습니까?

도움이 되었습니까?

해결책

P2를 사용하고 있다고 가정합니다.

P2로 기능을 내보내거나 빌드 할 때 메타 데이터 , 결과 content.xml (.jar)에는 다음과 같은 내용이 포함되어 있습니다.

<unit id='f.feature.group' version='1.0.0' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
  ...
</unit>

이것 <update> 요소는이 기능의 이전 버전을 업데이트 할 기능을 지정합니다. 기존 메타 데이터 생성 툴링은 위에서 볼 수 있듯이이를 설정합니다.

플러그인 "A 1.0.0"을 포함한 기능 'F'를 만들고 메타 데이터로 내보내고 해당 기능을 Eclipse에 설치했습니다. 그런 다음 플러그인 "A 2.0.0"을 포함하는 기능 'G'를 만들었습니다. 나는 이것을 같은 저장소로 다시 내보냈다. 그런 다음 Content.xml 파일을 수동으로 편집하고 변경했습니다.

<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='g.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

에게

<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

그런 다음 일식에서 "업데이트 확인"을 수행했으며 이전의 'F'에 대한 업데이트로 'G'를 발견하고 업그레이드했습니다. (사용 가능한 소프트웨어 사이트 선호도 페이지에서 "테스트 연결"을 수행하고이를 수행해야합니다.

불행히도 현재 내보내기/빌드 프로세스를 통해 업데이트 요소를 변경할 수있는 방법이 없으며 수동 편집이 필요합니다. 나는 자랐다 이 버그.

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