无法从Java Project访问Eclipse插件中的类

| 抽象而言,我的问题如下:我想从Java项目访问Eclipse插件中包含的类。可能吗?我已经将该类包含在插件的“导出包”中,该类应该是“该插件向客户端公开的所有包。”我的Java项目可以是“客户端”吗?只有其他插件可以成为客户端吗? 更具体地说,使用XText时遇到了这个问题。我构建了一种语言的编辑器,并且使用该语言编写的程序以基于文本的格式存储,该格式遵循XText定义的语法。 我希望我的用户能够编写Java程序来加载和操作那些基于xtext的文件。为此,他们需要访问XText在插件项目中生成的所有类。但是,我还不能使用这些类:在使用我的编辑器运行插件的Eclipse实例中,这些类是不可见的。 如何访问它们?我发现的唯一解决方案是将插件导出为jar,然后在另一个Eclipse实例中将其包含在Java项目的Build Path中,但这听起来并不优雅。 解决此问题的另一种方法是:我希望某个类可用于在加载了某个插件的Eclipse实例中构建的任何Java项目。我该怎么做? 谢谢你的帮助。 PS。我正在从第一个Eclipse实例中启动第二个Eclipse实例(插件已加载的实例)。     
已邀请:
生成XText支持后,需要通过编辑MANIFEST.MF来确保从“运行时”选项卡中导出了每个软件包。 然后,一旦将插件部署到eclipse中,该eclipse环境便可以看到这些类。 但这只会对其他插件开发人员有所帮助。 Java应用程序可以看到类路径中存在的类(例如,如果添加了插件jar),但是由于大多数eclipse插件都依赖eclipse生命周期来工作,因此它们的Java程序不太可能运行。并非总是这样(您可以在不运行Eclipse的情况下使用JFace),而仅适用于以这种方式专门设计的插件。 如果安装了插件,则可以使用* ECLIPSE_HOME *变量创建一个Java项目并将插件jar添加为外部jar。如果您的插件是工作空间中的一个项目,则可以像另一个Java项目一样(从Java构建路径)依赖它。但是,由于它是一个插件,因此可能无法帮助他们运行。     

要回复问题请先登录注册