我们在使用Eclipse做Java开发的时候,如果要用到JDK以外的库文件的话,一般的做法都是自定义一个Library或者逐个添加jar文件,或者是利用Maven。 那么,Maven又是怎么做到的呢?如果我们的项目组中没有采用Maven,能不能自己实现一个类似Maven Dependency的东东呢?详细内容,请看下文。
- 扩展点 org.eclipse.jdt.core.classpathContainerInitializer
需要实现接口:org.eclipse.jdt.core.ClasspathContainerInitializer,具体实现可以参考JDT(org.eclipse.jdt.core_*.jar)中的类org.eclipse.jdt.internal.core.UserLibraryClasspathContainerInitializer [codesyntax lang="xml"]
<extension point="org.eclipse.jdt.core.classpathContainerInitializer">
<classpathContainerInitializer
class="org.suren.autocode.classpath.SuRenClasspathContainerInitializer"
id="org.suren.autocode.classpath.SuRenClasspathContainerInitializer" />
</extension>
[/codesyntax] 这里解释一下kind,分类有:src、output、lib、var、con等,分别代表源文件、编译后class文件的输出路径、第三方jar文件、变量、运行的系统环境。
- 扩展点 org.eclipse.jdt.ui.classpathContainerPage
该扩展点可以让用户通过向导将classpath添加到某个项目中: [codesyntax lang="xml"]
<extension point="org.eclipse.jdt.ui.classpathContainerPage">
<classpathContainerPage
class="org.suren.autocode.classpath.SuRenClasspathWizardPage"
id="org.suren.autocode.classpath.SuRenClasspathWizardPage"
name="SuRenClasspath" />
</extension>
[/codesyntax] 需要继承类WizardPage,实现接口IClasspathContainerPage、IClasspathContainerPageExtension,具体实现可以参考JDT(org.eclipse.jdt.ui_.jar)中的类org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerDefaultPage
- 扩展点 org.eclipse.jdt.core.classpathVariableInitializer
- 参考
http://blog.csdn.net/soszou/article/details/7854514