导出eclipse可部署插件和片段时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导出eclipse可部署插件和片段时出错相关的知识,希望对你有一定的参考价值。
我有一个eclipse插件在eclipse环境中正常工作。
我想将它导出到一个jar文件中,所以我选择了Export> Deployable插件和片段。
我可以得到一个jar文件,但报告了一个错误。
打开日志文件,它报告我有1242个问题(191个错误,1051个警告)。这是错误日志中的一些副本。
2. ERROR in /Users/LSclipse/src/lsclipse/LSDiffRunner.java (at line 61)
import edu.washington.cs.induction.OnePipeLineScript;
^^^
The import edu cannot be resolved
----------
3. ERROR in /Users/LSclipse/src/lsclipse/LSDiffRunner.java (at line 261)
OnePipeLineScript.getMatchingForRefFinder(projName, proj1, proj1Loc
^^^^^^^^^^^^^^^^^
OnePipeLineScript cannot be resolved
为什么我有错误?我有2049个警告,但是当我在eclipse IDE中编译插件时没有错误。
添加
主项目引用了另外两个项目,并引用了许多外部库。我附加了包视图和Java构建路径。
这个问题涉及多个问题。然而,核心问题是项目apimatching
和originanalysis
不是eclipse插件而只是java项目。结果,这两个项目没有包含在最终的jar文件中以打破构建。
将两个项目符号链接到主项目中
我通过符号链接src目录到主eclipse插件项目中解决了这个问题。
ln -s /workspace/seal/edu.ucsc.originanalysis/src /LSclipse/originanalysis
ln -s /workspace/seal/edu.ucsc.apimatching/src /LSclipse/apimatching
从Java Build Path / Source选项卡中,我将这两个包含的项目添加为源。 Eclipse Java Missing required source folder: 'src'
现在我有eclipse插件jar文件没有错误。
然后单击F-5刷新项目资源管理器并检查它们是否是java src目录。
在Build选项卡中选择包含的项目。
在build.properties选项卡中更新bin.include
和source..
非常重要。人们应该明白,在bin.include
中,排序也很重要。 lib / cdtparser.jar和lib / cdtcore.jar应该放在他们的用户之前 - origin analysis/
。
将包含项目的jar文件复制到主项目中
我还必须将这些项目文件中的一些jar文件复制到主项目中,然后在Binary Build
选项卡中选择它们。
并在Runtime / Classpath选项卡中添加tim。
在执行环境中选择JavaSE-1.6。
我有很多“必须覆盖超类方法”错误。有了这篇文章的提示 - 'Must Override a Superclass Method' Errors after importing a project into Eclipse,我删除了J2SE-1.5来解决这个问题。
在开发插件时,不能将第三方库添加到Java的类路径中。这是构建标准Java应用程序的方法,但插件是一种具有itself rule for class loading的OSGi包。
正确的方法是将第三方库添加到插件的类路径中。
将以下声明添加到插件的MANIFEST.MF中,
Bundle-ClassPath: lib/log4j-1.2.7.jar,
xml-apis.jar,
...
这是一个有问题并被视为潜在问题的潜在解决方案的问题。
- 这个类是来自引用的jar还是实际插件中的edu.washington.cs.induction.OnePipeLineScript;
- 您似乎有很多soure文件夹,并想知道您的build.properties文件是否显示任何警告,并且您还为build.properties源中的每个源文件夹定义了此文件。= src /
- 您的外部jar库似乎位于source类型的文件夹中,该文件夹不正确。它应该是一个非源文件夹(您可以通过包图标装饰器告诉源文件夹)并且您应该在清单编辑器中确保对于运行时您已经检查了lib,以便它包含构建中的jar。要将其取消标记为源文件夹,请在导航器视图中选择下拉菜单,转到过滤器并取消选中.resources然后将显示该文件中的.classpath文件,您将看到该文件夹为kind =“src”(我相信)删除。
- 不知何故,它看起来你也有链接的源文件夹这是我不建议的做法,我不确定这是否会导致插件导致问题。如果您可以避免链接的源文件夹更好。
此外,你似乎混淆了普通java应用程序的java构建路径配置,其中插件运行在OSGI中,而不是通过java构建路径配置但是你的manifest.editor所以作为一个经验法则,如果它的插件甚至不打扰试图配置java构建路径因为OSGI不同,这也可能导致问题
在Options中选择“使用工作区中包含的类文件”对我来说很有用。
以上是关于导出eclipse可部署插件和片段时出错的主要内容,如果未能解决你的问题,请参考以下文章
将 GraphQL 片段与 Apollo Hooks 一起使用时出错
为 Eclipse RCP 项目生成默认的 config.ini