|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net网页编程里有这些工具吗?要简单多少?。
碰着的成绩
假定我们但愿在Eclipse中利用一个特定的插件,并已实行了一切必需的操纵,将其包括到插件的manifest文件中,并将其声明为一个依附文件。可是体系并没有加载这个插件,如许我们就会被困在这里了,软件开辟就没法持续停顿下往了。
听起来十分熟习吗?假如是如许,那末您大概早已消费了良多工夫和勉力来检察良多plugin.xml文件,从而查明Eclipse大概没有加载哪一个特定的插件。还大概已实验利用了EclipsePDE项目供应的Plug-inDependencies视图,此时您会发明这个视图的独一事情不外是显现已乐成加载的插件罢了。不幸的是,有成绩的插件极可能其实不属于乐成加载的插件。
要断定Eclipse没有找到或加载哪一个特定的插件,我们应当做些甚么呢?我们不必手工遍历每一个plugin.xml文件,而是思索主动完成这类搜刮功效。要主动举行搜刮,我们必要懂得Eclipse是怎样保留本人的插件的,和怎样发明到保留在磁盘上的其他插件的链接。基于这些常识,我们大概会但愿编写本人的代码来创立一个插件依附性遍过程序,大概利用在本文中给出的这个通用的DependencyWalker插件。本文的“下载”一节给出了这个例子的源代码。
入手下手:了解插件依附性和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>节中的<importplugin="pluginid"/>声明。清单1的例子申明这个插件IDorg.eclipse.draw2d依附于ID为org.eclipse.swt和org.eclipse.core.runtime的插件。
插件链
当我们在Eclipse中利用Java™手艺平台来开辟软件时,体系实践上依据所选择的方针平台对源代码举行编译。能够在Window>Preferences>Plug-inDevelopment>TargetPlatform中指定方针平台的地位。这个方针平台在<targetPlatform>eclipse中有本人的一个Eclipse正本。要为代码剖析这些依附性,请从两个中央查找是不是存在所必要的插件:
<targetPlatform>eclipseplugins文件夹中的Eclipse插件
<targetPlatform>eclipselinks文件夹中.link文件所指向的链接插件
程序员一般会将第二个中央称为links文件夹。这个links文件夹中包括0个或多个文件,文件名一般都是以“.link”扩大名开头。这些文件中包括了一些链接信息,可使用这些信息定位在磁盘上哪些中央能够找到链接插件。
每一个.link文件都有一个关头字-值对,其格局为path=location。(比方,links文件夹C:eclipselinks中便可能会有良多.link文件,个中一个文件的名字大概为com.ibm.indiver.dependencywalker.link。这个文件中独一的一行大概相似于path=c:myPluginsdependencyWalker)。这个.link文件会将Eclipse引诱到指定的地位,并在eclipseplugins文件夹中寻觅更多的可用插件。
<p>
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net网页编程里有这些工具吗?要简单多少?。 |
|