为项目自动添加哪些构建路径?
为项目自动添加哪些构建路径?
有一些插件会自动将需要的jar包自动设置到构建路径上,比如使用WTP的新建向导新建web项目的时候就会把web开发需要的jar包自动放入项目的构建路径,使用PDE的“将项目转换为插件项目”功能后项目的构建路径中就增加了插件依赖项的库。我这里来演示一下其实现:在这个例子中,我们想要做一个“为项目添加lucene支持”的功能,用户在项目上点击右键,选择菜单中的“为项目添加lucene支持”以后,插件把lucene的jar包和源码包拷贝到项目的lib目录下,并且将jar包加入构建路径。
如下图:这是增加lucene支持前的项目结构: 用户在项目上点击右键,选择菜单中的“为项目添加lucene支持”后的项目结构 这是工程构建路径 ①新建一个插件工程,并将JDT相关的依赖项加入。②添加一个“org。eclipse。ui。popupMenus”的扩展点,如果不熟悉怎么添加,可以使用插件向导中的“弹出菜单”向导。
需要注意contribution的配置, 此插件只针对Java项目才起作用,因此“objectClass”中填入“org。eclipse。jdt。core。IJavaProject”;adaptable选择“true”(后边讲解为什么);如果是用向导生成的那么请记得清空“nameFilter”。
③下面是核心类ActionAddLucene 的实现代码public class ActionAddLucene implements IObjectActionDelegate{ private static final String FILESEPARATOR = System。
getProperty("file。separator","/"); private static final String LUCENESRCJAR = "lucene-1。4。3-src。jar"; private static final String LUCENEJAR = "lucene-1。
4。3。jar"; private static final String LIB = "lib"; private static final String RESOUCELIB = "resoucelib"; private IStructuredSelection structSelection; public ActionAddLucene() { super(); } public void setActivePart(IAction action, IWorkbenchPart targetPart) { } public void run(IAction action) { Object selectObj = structSelection。
getFirstElement(); if (selectObj instanceof IProject) { IProject project = (IProject) selectObj; IJavaProject javaProject = JavaCore。
create(project); IClasspathEntry[] oldPaths = javaProject。readRawClasspath(); IClasspathEntry luceneLibEntry = JavaCore。
newLibraryEntry(project 。getFile(LIB + FILESEPARATOR + LUCENEJAR)。getFullPath(), project 。getFile(LIB + FILESEPARATOR + LUCENESRCJAR)。
getFullPath(), null, false); if(classPathExists(oldPaths,luceneLibEntry)) { return; } URL luceneLib = Activator。getDefault()。
getBundle()。getEntry( RESOUCELIB + FILESEPARATOR + LUCENEJAR);。
答:团队建设是一个永远的话题,如果严格按照管理学关于工作群体和工作团队两个概念界定,企业正式组织中的员工组合大多不是真正意义上的工作团队,仅仅是工作群体。管理学对工...详情>>