2009-07-01 3 views
2

Ich habe eine Funktion und ich möchte seine ID ändern. Dies macht es jedoch unmöglich, eine bestehende Installation zu aktualisieren, und hier ist der Grund:Ersetzen einer vorhandenen Feature-ID in Eclipse

  • Angenommen, das Feature F1 in Version 1.0 besteht aus Plugin A in Version 1.0.
  • Nun möchte ich eine Funktion F2 bei Version 1.1 haben, die Plugin A bei Version 1.1 verwendet.
  • Nach der Installation von F2 erhalte ich einen Fehler - dass ich bereits Feature F1 habe, das Plugin A in Version 1.0 erfordert, und somit die Installation von Plugin A 1.1 diese Abhängigkeit ungültig macht.
  • Ich bin auf der Suche nach einer Möglichkeit zu bezeichnen, dass F2 F1 ersetzt. Wie kann ich das machen?

    Antwort

    3

    Ich gehe davon aus, dass Sie p2 verwenden.

    Beim Export/bauen Sie Ihre Funktion mit p2 metadata, dem resultierenden content.xml (.jar) enthält etwa wie folgt:

    <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> 
    

    Dieses <update> Element frühere Versionen der Funktion gibt an, dass diese wird aktualisieren. Die vorhandenen Tools zur Erstellung von Metadaten legen diese fest, wie Sie oben sehen.

    Ich erstellte ein Feature 'f', das Plug-In "A 1.0.0" enthält und mit Metadaten exportiert und installiert diese Funktion in meine Eclipse. Dann habe ich ein Feature 'g' erstellt, welches das Plug-In "A 2.0.0" enthält. Ich habe das wieder in dasselbe Repository exportiert. Dann ging ich und manuell bearbeitet die content.xml Datei und geändert:

    <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'/> 
    

    zu

    <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'/> 
    

    dann in meiner Finsternis, habe ich ein "Check for Updates", und es fand 'g' als Update für das vorherige 'f' und führte das Upgrade durch. (Möglicherweise müssen Sie das Repository neu laden, um die Änderungen zu übernehmen. Führen Sie dazu eine "Testverbindung" auf der Vorgabeseite Verfügbare Softwareseiten aus).

    Leider gibt es derzeit keine Möglichkeit, den Export/Build-Prozess zu erhalten, um das Update-Element für Sie zu ändern, und es müsste eine manuelle Bearbeitung sein. Ich hob this bug.

    +0

    Danke. Ich werde das überprüfen und für den Fehler stimmen. – zvikico

    +0

    Nur für den Rekord, ich habe es versucht und es funktioniert nicht. Ich habe jedoch keine Dokumentation oder einen anderen Beweis gefunden, dass diese Funktion vorhanden sein sollte, daher ist das Öffnen eines Fehlers ein Problem. – zvikico

    Verwandte Themen