plugin.xml 文件

XML 清单文件中描述了一个称为 plugin.xml 的插件,它是插件部署文件的一部分。清单文件告诉门户网站应用程序的运行时,要注册并激活该插件,它需要了解哪些内容。清单文件本质上充当可插入组件和门户网站应用程序的运行时之间的合同。尽管 WebSphere® Application Server plugin.xml 严格遵循为 Eclipse 工作台提供的清单文件,但是它确实在若干方面脱离了 Eclipse 工作台。

位置

plugin.xml 文件必须位于 Web 应用程序或包括它的 Web 应用程序归档文件所在的目录层次结构上下文下的 WEB-INF 目录中。当 plugin.xml 文件放置在 Enterprise JavaBeans Java™ 归档 (JAR) 文件或共享库 JAR 文件中时,plugin.xml 文件必须位于根目录中。扩展注册服务包括 plugin.xml 文件,因为在应用程序服务器上会装入并启动参与的组件。

使用说明

  • 该文件是只读的吗?

  • 该文件是由产品组件更新的吗?

    ???

  • 如果是,什么触发其更新?

    当您将 Web 组件组装到 Web 模块,或者当您修改 Web 组件或 Web 模块的属性时, Rational Application Developer 将更新 web.xml 文件。

  • 如何及何时使用该文件的内容?

    WebSphere Application Server 功能在 Web 应用程序开发的配置和部署阶段期间使用此文件中的信息。

  • 清单标记定义使用各种命名标记和标识。为消除不明确性,下面提供了这些命名约定的产生规则。通常,所有标识都是区分大小写的。
    SimpleToken := sequence of characters from ('a-z','A-Z','0-9') 
    ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) 
    PlugInId := ComposedToken
    PlugInPrereq := PlugInId 
    ExtensionId := SimpleToken 
    ExtensionPointId := SimpleToken 
    ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)

样本文件条目

完整的插件清单 DTD 如下。XML 模式不用来定义清单,因为插件的当前 Eclipse 工具需要 DTD。XML DTD 构造规则 element* 表示该元素出现或不出现;element? 表示该元素不出现或出现一次;element+ 表示该元素出现一次或多次。

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

WebSphere Application Server 差别

plugin.xml 文件基本上遵守为 Eclipse 工作台提供的 plugin.xml 文件。但是,它在下列元素中偏离了。
plugin 元素
此清单中提供的 plugin 元素不包含类属性。类属性不是必需的,因为插件机制不要求插件开发者扩展或使用任何特定类,而这对于 Eclipse 工作台是要求的。另外,plugin 元素不包含运行时元素,因为一些标准(例如,J2EE)已定义应用程序的运行时库位置。
import 元素
requires 元素不包含 export 属性,因为建议 J2EE 模块为自包含的以提高可管理性。除了不带有 export 属性之外,match 属性有一个选项用于版本的更高或相等匹配 (greaterOrEqual)。
extension-point 元素
extension-point 元素将名称属性作为可选部分,因为它在此 J2EE 实现中没有实际的用途。

可在“平台插件开发者指南 > 其他参考信息 > 插件”清单下面的 Eclipse 文档中找到有关插件清单的详细信息。

以下是扩展点可以如何完成将链接添加至现有页面这一任务的示例。此插件的插件清单声明扩展点 (linkExtensionPoint) 和对此扩展点的扩展 (linkExtension)。声明扩展点的插件不必是实现该扩展点的插件。另一个插件也可以通过以下方式在其插件清单中定义对该链接扩展点的扩展:将 <extension> 和 </extension> 标记的内容包括在其清单中。
<?xml version="1.0"?>
<!--the plugin id is derived from the vendor domain name --> 
<plugin
			id=”com.ibm.ws.console.core” 
			version=”1.0.0” 
			provider-name=”IBM WebSphere”>

		<!--declaration of prerequisite plugins-->
	<requires>
  		<import plugin=”com.ibm.data” version=”2.0.1” match=”compatible”/>
   	<import plugin=”com.ibm.resources” version=”3.0” match=”exact”/>
	</requires>

	<!--declaration of link extension point --> 
	<extension-point 
				id=”linkExtensionPoint” 
				schema=”/schemas/linkSchema.xsd”/>


	<!--declaration of an extension to the link extension point -->
	<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>

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_pluginxml
文件名:rweb_pluginxml.html