Eclipse Plugins offline aus Update Sites installieren
Geschrieben von: Markus Junginger in Java, tags: Eclipse, Eclipse Offline, Eclipse Update SiteRegelmäßig werde ich gefragt wie man Eclipse Plugins offline installiert. Offline Rechner können nichts mit meiner Update Site http://www.junginger.biz/eclipse/ anfangen und spezielle Downloads für Offline-Installationen biete ich nicht an. Aber glücklicherweise gibt es einen Weg, die Plugins zunächst von der Update Site downzuloaden um sie später offline zu installieren. Ein paar Hintergrundinfos kommen noch, aber erstmal die direkten Links zu meinen Plugins:
ExploreFS 1.0.0
RSSView 1.3.2
FreeMem 1.3.0
Dabei muss man lediglich beachten, dass die Links an eine bestimmte Version gebunden sind. Deshalb sollte man Acht geben, dass es sich noch um die aktuellen Versionen handelt. Nach dem Download einfach die Datei ins das Plugins Verzeichnis der Eclipse Installation kopieren und Eclipse (neu) starten.
Dazu etwas Hintergrundinformationen zum Aufbau von Eclipse Update Sites, Features und Plugins im Eclipse-Kontext. Eine Update Site ist eine Webseite auf der die Plugins mit dazugehörigen Meta Informationen abgelegt sind. Letztere sind in der Datei “site.xml” auf der Update Site zu finden, zum Beispiel http://www.junginger.biz/eclipse/site.xml. Diese XML Datei beschreibt welche Features in welchen Versionen verfügbar sind.
Meine site.xml sieht so aus:
<?xml version="1.0" encoding="UTF-8"?> <site> <feature url="features/biz.junginger.FreeMemFeature_1.3.0.jar" id="biz.junginger.FreeMemFeature" version="1.3.0"> <category name="FreeMem"/> </feature> <feature url="features/biz.junginger.RssViewFeature_1.2.5.jar" id="biz.junginger.RssViewFeature" version="1.2.5"> <category name="RSS_View"/> </feature> <feature url="features/biz.junginger.RssViewFeature_1.3.2.jar" id="biz.junginger.RssViewFeature" version="1.3.2"> <category name="RSS_View"/> </feature> <feature url="features/biz.junginger.ExploreFS_Feature_1.0.0.jar" id="biz.junginger.ExploreFS_Feature" version="1.0.0"> <category name="ExploreFS"/> </feature> <category-def name="FreeMem" label="FreeMem (Eclipse 2.x and 3.x)"/> <category-def name="RSS_View" label="RSS View (Eclipse 3.x)"/> <category-def name="ExploreFS" label="ExploreFS"/> </site>
Wenden wir uns dem Begriff Feature zu. Wenn von einem Eclipse Plugin gesprochen wird, meint man oft eigentlich ein Feature. Ein Feature ist für Endanwender als eine bestimmte Funktionalität sichtbar, können aus technischer Sicht aus mehreren Plugins bestehen. Um wieder auf die site.xml zurückzukommen, schauen wir uns mal das feature Tag und sein Attribut url genauer an. Es gibt den relativen Pfad zur Feature-Jar-Datei in Bezug auf die Update Site an. Dieses Jar enthält eine feature.xml Datei, welche die Feature Informationen in sich trägt. Neben weiterer Informationen ist hier vor allem beschrieben welche Plugins zu diesem Feature gehören. Als Beispiel hier eine plugin Sektion:
<plugin id="biz.junginger.rss.eclipse.RssPlugin" download-size="96" install-size="96" version="1.3.2"/>
Damit sind alle Bestandteile der URL für das Plugin-Jar vorhanden:
- Update Site URL
- “plugins/” Verzeichnis
- Plugin ID
- Unterstrich
- Plugin Version
- “.jar”
Damit wäre die URL des Beispiels folgende:
http://www.junginger.biz/eclipse/plugins/biz.junginger.rss.eclipse.RssPlugin_1.3.2.jar
Als Plugin-Entwickler hat man mit den beschriebenen Dateien nur indirekt zu tun. Vielmehr werden die Dateien entsprechend der Vorgaben erzeugt. Dazu legt man ein Update Site Projekt in Eclipse an, und fügt Feature Projekte hinzu, die wiederum Plugin Projekte referenzieren. Dies geschieht alles in der Oberfläche ohne das man sich um die Verzeichnisse und Dateien kümmern muss.


Einträge (RSS)
Ja und wie mache ich das nun offline verfügbar?
ich will eine update-site spiegeln – wie mach ich das?
Kannst Du noch etwas genauer sagen was Du machen möchtest?
Ja das geht, ein Beispiel für Eclipse 3.4:
java -cp C:\apps\dev\eclipse34\plugins\org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar org.eclipse.core.launcher.Main -application org.eclipse.update.core.standaloneUpdate -command mirror -from http://www.junginger.biz/eclipse/ -to MEIN_ORDNER
Seb
Was aber wenn das JAR file keine Feature Beschreibung enthält?
Hier ist so ein Teil.
–> http://webscripts.softpedia.com/script/Development-Scripts-js/yWorks-Ant-Explorer-29247.html
Wie bekommt man das installiert? Einfach ins Pluginverzeichnis legen und Neustart ist nicht.
hans