2016-04-01 5 views
0

Mein Plugin verwendet eine Ressource-Datei in seinem Glas.
Während der Laufzeit möchte ich diese Ressource aktualisieren, daher suche ich nach einer Möglichkeit, etwas Inhalt in diese Datei zu schreiben.Update Ressource-Datei meines Eclipse-Plugin

Bisher habe ich die URL zu meiner Ressource-Datei, aber wie es in einem Glas ist, kann ich keinen File verwenden, um darauf zuzugreifen.
Deshalb habe ich versucht,

URLConnection connection = resourceURL.openConnection(); 
connection.setDoOutput(true); 
connection.connect(); 

OutputStream resourceOut = connection.getOutputStream(); 

Aber das thows mir ein UnknownServiceException besagt, dass dieses Protokoll keine OutputStream unterstützt.

Ich habe einige Nachforschungen im Internet gemacht, aber ich konnte keine Antwort auf mein Problem finden. Ich hoffe, dass jemand eine Idee hat, wie ich den Inhalt meiner Ressourcendatei aktualisieren kann.

+0

Warum möchten Sie eine Datei in einem Jar aktualisieren? Wie werden Sie garantieren, dass Sie Schreibrechte für das .jar haben, um es zu aktualisieren? Eine Ressource in einer .jar-Datei sollte Standardwerte enthalten und die aktualisierten Werte anschließend extern in einer Datei speichern. Wenn Sie Eclipse verwenden, sollten Sie das bevorzugte System verwenden. – KevinO

Antwort

1

Sie können nicht in das Plug-in-Glas schreiben. Auf einigen Plattformen wird dies an einem schreibgeschützten Speicherort installiert.

Wenn Sie Daten ändern möchten, die mit einem Plug-in verbunden sind, empfehle ich, dass Sie es in den "Status" des Plug-Ins einfügen. Dies ist ein Verzeichnis im Arbeitsbereich .metadata/.plugins Verzeichnis für Ihr Plug-in reserviert. mit

den Zustand Standort:

Bundle bundle = FrameworkUtil.getBundle(getClass()); 

IPath stateLoc = Platform.getStateLocation(bundle); 

Sie alles setzen können Sie in diesem Verzeichnis mögen. Es liegt an Ihrem Plug-in, den Inhalt zu verwalten.