<b>发现Eclipse中未解析的插件依靠性</b>[Java编程]
本文“<b>发现Eclipse中未解析的插件依靠性</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
碰到的问题
假定我们但愿在 Eclipse 中利用一个特定的插件,并已经履行了全部必须的操作,将其包含到插件的 manifest 文件中,并将其声明为一个依靠文件.但是系统并没有加载这个插件,这样我们就会被困在这里了,软件开辟就无法持续进展下去了.
听起来非常熟习吗?假如是这样,那么您大概早已耗费了很多时间和勤奋来查看很多 plugin.xml 文件,从而查明 Eclipse 大概没有加载哪个特定的插件.还大概已经尝试利用了 Eclipse PDE 项目供应的 Plug-in Dependencies 视图,此时您会发现这个视图的唯一工作不过是显示已经成功加载的插件罢了.不幸的是,有问题的插件极大概并不属于成功加载的插件.
要肯定 Eclipse 没有找到或加载哪个特定的插件,我们应当做些什么呢?我们不用手工遍历每个 plugin.xml 文件,而是考虑自动实现这种搜索功效.要自动举行搜索,我们需求理解 Eclipse 是若何保存自己的插件的,以及若何发现到保存在磁盘上的其他插件的链接.基于这些知识,我们大概会但愿编写自己的代码来成立一个插件依靠性遍历程序,大概利用在本文中给出的这个通用的 Dependency Walker 插件.本文的 “下载” 一节给出了这个例子的源代码.
开始:理解插件依靠性和 Eclipse 的插件链
插件依靠性
Eclipse 插件是供应了其他插件可以利用的功效的软件模块.假如插件 A 需求插件 B 才能正常工作,那么我们就说 A 依靠于 B.这种依靠性还意味着,除非插件 B 已经成功加载了,不然插件 A 就不能正常工作.有时刻,插件 B 大概还会依靠于插件 C、D、E,令人更不爽的是,这些插件每个都大概会依靠于其他插件.这种依靠链很简单形成数百个插件彼此链接在一同.毫无疑问,假如这个链条中的任何一个插件不能成功加载,那么依靠它的插件便大概会呈现问题.
插件 manifest 文件 plugin.xml 描写了每个插件.这个 XML 文件中有一节声明了关于其他插件的依靠性或需求.在清单 1 中,plugin.xml 文件中利用黑体表示的一节就声明了这种依靠性.
清单 1. plugin.xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
<?eclipse version="3.0"?>
<plugin id="org.eclipse.draw2d" name="Draw2d" version="3.0.0"
provider-name="Eclipse.org">
<runtime>
<library name="draw2d.jar">
<export name="*" />
<packages prefixes="org.eclipse.draw2d" />
</library>
</runtime>
<requires>
<import plugin="org.eclipse.swt" export="true" />
<import plugin="org.eclipse.core.runtime" />
</requires>
</plugin>
注意嵌入在 <requires> </requires> 节中的 <import plugin="plugin id"/> 声明.清单 1 的例子阐明这个插件 ID org.eclipse.draw2d 依靠于 ID 为 org.eclipse.swt 和 org.eclipse.core.runtime 的插件.
插件链
当我们在 Eclipse 中利用 Java™ 技术平台来开辟软件时,系统实际上按照所挑选的目标平台对源代码举行编译.可以在 Window > Preferences > Plug-in Development > Target Platform 中指定目标平台的位置.这个目标平台在 <targetPlatform>\eclipse 中有自己的一个 Eclipse 副本.要为代码解析这些依靠性,请从两个地方查找能否存在所需求的插件:
<targetPlatform>\eclipse\plugins 文件夹中的 Eclipse 插件
<targetPlatform>\eclipse\links 文件夹中 .link 文件所指向的链接插件
程序员普通会将第二个地方称为 links 文件夹.这个 links 文件夹中包含 0 个或多个文件,文件名普通都是以 “.link” 扩大名末尾.这些文件中包含了一些链接信息,可以利用这些信息定位在磁盘上哪些地方可以找到链接插件.
每个 .link 文件都有一个关键字-值对,其格局为 path=location.(比方,links 文件夹 C:\eclipse\links 中便大概会有很多 .link 文件,此中一个文件的名字大概为 com.ibm.indiver.dependencywalker.link.这个文件中唯一的一行大概近似于 path=c:\myPlugins\dependencyWalker).这个 .link 文件会将 Eclipse 指导到指定的位置,并在 \eclipse\plugins 文件夹中探求更多的可用插件.
以上是“<b>发现Eclipse中未解析的插件依靠性</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |