Datei plugin.xml
Ein Plug-in wird in einer XML-Manifestdatei mit dem Namen plugin.xml beschrieben, die zu den Implementierungsdateien für Plug-ins gehört. Die Manifestdatei teilt der Laufzeitumgebung der Portalanwendung die erforderlichen Informationen für die Registrierung und Aktivierung des Plug-in mit. Die Manifestdatei ist im Wesentlichen ein Vertrag zwischen der Plug-in-Komponente und der Laufzeitumgebung der Portalanwendung. Obwohl die Datei plugin.xml von WebSphere Application Server eng an die Datei für die Eclipse-Workbench angelehnt ist, weicht sie an verschiedenen Stellen von Eclipse-Workbench-Version ab.
Position
Wenn sie in der Archivdatei der Webanwendung enthalten ist, muss die Datei plugin.xml im Verzeichnis WEB-INF unter dem Kontext der Verzeichnishierarchie für eine bestimmte Webanwendung gespeichert sein. Die Datei plugin.xml muss sich im Stammverzeichnis befinden, wenn sie in einer EJB-JAR-Datei oder in der JAR-Datei einer gemeinsam genutzten Bibliothek enthalten ist. Der Registrierungsservice für Erweiterungen verwendet die Datei plugin.xml, wenn die beteiligten Komponenten in den Anwendungsserver geladen und gestartet werden.
Verwendungshinweise
- Ist diese Datei schreibgeschützt (Read-Only)?
Nein
- Wird diese Datei von einer Produktkomponente aktualisiert?
???
- Wenn ja, wie wird die Aktualisierung ausgelöst?
Rational Application Developer aktualisiert die Datei web.xml, wenn Sie Webkomponenten zu einem Webmodul assemblieren oder wenn Sie die Eigenschaften der Webkomponenten oder des Webmoduls ändern.
- Wie und wann wird der Inhalt der Datei verwendet?
Die Funktionen von WebSphere Application Server verwenden die in dieser Datei enthaltenen Informationen in den Konfigurations- und Implementierungsphasen während der Entwicklung der Webanwendung.
- In den Markup-Definitionen für die Manifestdatei werden verschiedene Namenstoken und -kennungen verwendet.
Zur Vermeidung von Mehrdeutigkeiten sollten die folgenden Erstellungsregeln für diese Namenskonventionen beachtet werden.
Im Allgemeinen muss in Kennungen die Groß-/Kleinschreibung beachtet werden.
SimpleToken := Folge von Zeichen aus den Bereichen ('a-z','A-Z','0-9') ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) PlugInId := ComposedToken PlugInPrereq := PlugInId ExtensionId := SimpleToken ExtensionPointId := SimpleToken ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)
Beispieldateieintrag
Im Folgenden sehen Sie die vollständige Manifest-DTD für Plug-ins. Es wird kein XML-Schema verwendet, um das Manifest zu definieren, weil die aktuellen Eclipse-Tools für Plug-ins eine DTD voraussetzen. Das Element * in den Erstellungsregeln für die XML-DTD steht für null oder mehrere Vorkommen des Elements. Das Element ? steht für null oder ein Vorkommen des Elements, und das Element + steht für ein oder mehrere Vorkommen des Elements.
<?xml encoding="US-ASCII"?>
<!ELEMENT plugin (requires?, extension-point*, extension*)>
<!ATTLIST plugin
name CDATA #IMPLIED
id CDATA #REQUIRED
version CDATA #REQUIRED
provider-name CDATA #IMPLIED
>
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
plugin CDATA #REQUIRED
version CDATA #IMPLIED
match (exact | compatible | greaterOrEqual) #IMPLIED
>
<!ELEMENT extension-point EMPTY>
<!ATTLIST extension-point
name CDATA #IMPLIED
id CDATA #REQUIRED
schema CDATA #IMPLIED
>
<!ELEMENT extension ANY>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
Unterschiede zu WebSphere Application Server
- Element plugin
- Das Element plugin in diesem Manifest enthält kein Attribut class. Das Attribut class ist überflüssig, weil der Plug-in-Mechanismus anders als bei der Eclipse-Workbench vom Plug-in-Entwickler nicht fordert, dass bestimmte Klassen erweitert oder verwendet werden. Außerdem enthält das Element plugin kein Element runtime, da Standards wie J2EE die Position der Laufzeitbibliotheken für die Anwendungen bereits definieren.
- Element import
- Das Element requires enthält kein Attribut export, da für eine bessere Verwaltbarkeit eigenständige J2EE-Module bevorzugt werden. Außerdem hat das Attribut match eine Option für größer-gleich, um mehrere Versionen zu erfassen (greaterOrEqual).
- Element extension-point
- Im Element extension-point ist das Attribut name optional, da es in dieser J2EE-Implementierung keine echte Anwendung findet.
Details zum Plug-in-Manifest finden Sie in der Eclipse-Dokumentation unter "Platform Plug-In Developer Guide > Other reference information > Plug-in manifest".
<?xml version="1.0"?>
<!-- Die Plug-in-ID wird aus dem Domänennamen des Anbieters abgeleitet -->
<plugin
id=”com.ibm.ws.console.core”
version=”1.0.0”
provider-name=”IBM WebSphere”>
<!-- Deklaration vorausgesetzter Plug-ins -->
<requires>
<import plugin=”com.ibm.data” version=”2.0.1” match=”compatible”/>
<import plugin=”com.ibm.resources” version=”3.0” match=”exact”/>
</requires>
<!-- Deklaration des Linkerweiterungspunkts -->
<extension-point
id=”linkExtensionPoint”
schema=”/schemas/linkSchema.xsd”/>
<!-- Deklaration einer Erweiterung für den Linkerweiterungspunkt -->
<extension
point=”com.ibm.ws.console.core.linkExtensionPoint”
id=”linkExtension”>
<link
label=”Example.displayName”
actionView=”com.ibm.ws.console.servermanagement.forwardCmd.do?
forwardName=example.config.view&
lastPage=ApplicationServer.config.view”>
</link>
</extension>
</plugin>