爱问知识人 爱问教育 医院库

为项目自动添加哪些构建路径?

首页

为项目自动添加哪些构建路径?

为项目自动添加哪些构建路径?

提交回答

全部答案

    2018-04-05 06:46:18
  •   有一些插件会自动将需要的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);。

    q***

    2018-04-05 06:46:18

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):