操纵Eclipse插件的java类路径?

时间:2017-06-06 14:31:32

标签: java eclipse plugins

我正在开发一个包含自制Eclipse视图的插件。 当我运行插件并使用System.getProperty("java.class.path")显示类路径时 我得到这个作为输出:D:\Programs\eclipse\plugins\org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar

我想添加一些.jar文件以便我的视图正常运行,但我无法弄清楚...我想你可以通过向插件的MANIFEST.MF添加一些规范来实现它。我不知道如何做到这一点。 有任何想法吗 ?

3 个答案:

答案 0 :(得分:1)

每个Eclipse插件都有自己的类路径。要在插件中使用其他jar,您需要将它们包含在插件中。

将您的jar添加到插件目录中。通常它们被放在'lib'目录中。

打开插件MANIFEST.MF编辑器,在“Classpath”部分的“Runtime”选项卡上单击“Add ...”按钮,然后将您的jar添加到类路径中。

在编辑器的“构建”选项卡上,确保“二进制构建”部分中包含“lib”文件夹。

您的MANIFEST.MF应该以“Bundle-Classpath”条目结束,如下所示:

Bundle-ClassPath: .,
 lib/jogg-0.0.7.jar,
 lib/jorbis-0.0.15.jar,
 lib/vorbisspi1.0.2.jar

(这里我在lib文件夹中有3个罐子。)

build.properties文件应该类似于:

bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               lib/,\
               lib/jogg-0.0.7.jar,\
               lib/jorbis-0.0.15.jar,\
               lib/vorbisspi1.0.2.jar

答案 1 :(得分:0)

我发现的最佳方法是在Eclipse项目中创建一个lib目录(包含您的视图)。将.jar文件放在所说的lib目录中。

然后使用MANIFEST.MF上的编辑器,将.jar文件添加到类路径中。如果要导出包,则还要添加到“导出的包”。 MANFIEST.MF

根据您的操作,您可能希望/还需要更新构建配置。 Build Configuration

如果您检查MANIFEST.MF文件本身,则会看到Bundle-ClassPath的条目。它会列出您的参赛作品。这里有标准的“。”对于项目,我们导出的resources/目录和几个.jar文件。

Bundle-ClassPath: .,
resources/,
lib/aopalliance-1.0.jar,
lib/apccore-client-2.11.8.jar,
lib/cglib-nodep-2.2.2.jar,
lib/ehcache-2.10.3.jar,
...

请注意,根据我们的经验,还需要从项目本身的属性中调整Java构建路径。用户评论说可能没有必要执行此步骤。由于我们的产品,我们使用的是Eclipse的旧版本,因此YMMV,如果需要(通常编译失败是指标),则需要通过项目的属性上下文菜单将.jar文件添加到“Java”构建路径“(您可以对资源目录执行相同的操作)。

Java Build Path

这将允许您使用.jar文件正确构建。

答案 2 :(得分:0)

对于编译时间,我们需要将其添加到Project运行时库。

对于运行时,您必须将jar打包在EAR / WAR文件中,或者将其作为App服务器库加载到应用程序服务器。

如果您需要进一步的帮助,请与我们联系。