我正在开发一个Eclipse插件,其中包含几个组件。以前这是一个单一的插件,一切都很好。然而,最近我将其分成多个插件,这些插件是单一功能的一部分。
结构是特性中有许多插件。有一个“核心”插件,其中包含通用代码和库。每个其他插件都依赖于核心插件。
问题在于,虽然插件编译良好,并且没有关于plugin.xml、manifest等的警告,但插件在运行时无法工作,因为缺少类。具体来说,我在核心插件中使用了Google Guava,但是在运行时找不到Guava jar中的类。还有其他的jar文件,但这是第一个出现问题的。
我尝试过几种解决方法: - 在核心项目中导出包含在Guava jar中的包,结果相同: 无法工作。 - 将Guava jar放在每个插件中确实有效,但由于额外的大小而不受欢迎。 - 根据我的搜索,我可以在plugin.xml中添加一个标签,但Eclipse会忽略它,因为我有一个清单。我还没有找到一种方式将等效设置添加到清单中。
唯一实际起作用的方法是创建一个库插件,它基本上解压并合并所有jar文件。问题是这里有一个混杂的随机文件。如果我想要升级一个jar文件,重新生成项目很繁琐,而且当搜索项目的SVN历史记录时可能会很困难。
是否有其他方法可以实现这一点,并使更新的jar文件易于使用,只需进行最少的更改即可?
结构是特性中有许多插件。有一个“核心”插件,其中包含通用代码和库。每个其他插件都依赖于核心插件。
问题在于,虽然插件编译良好,并且没有关于plugin.xml、manifest等的警告,但插件在运行时无法工作,因为缺少类。具体来说,我在核心插件中使用了Google Guava,但是在运行时找不到Guava jar中的类。还有其他的jar文件,但这是第一个出现问题的。
我尝试过几种解决方法: - 在核心项目中导出包含在Guava jar中的包,结果相同: 无法工作。 - 将Guava jar放在每个插件中确实有效,但由于额外的大小而不受欢迎。 - 根据我的搜索,我可以在plugin.xml中添加一个标签,但Eclipse会忽略它,因为我有一个清单。我还没有找到一种方式将等效设置添加到清单中。
唯一实际起作用的方法是创建一个库插件,它基本上解压并合并所有jar文件。问题是这里有一个混杂的随机文件。如果我想要升级一个jar文件,重新生成项目很繁琐,而且当搜索项目的SVN历史记录时可能会很困难。
是否有其他方法可以实现这一点,并使更新的jar文件易于使用,只需进行最少的更改即可?