Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包装罐_Java_Plugins_Properties_Jar - Fatal编程技术网

Java 包装罐

Java 包装罐,java,plugins,properties,jar,Java,Plugins,Properties,Jar,试图将多个插件及其属性文件打包到一个可执行jar中是令人沮丧的一天。 如何将这些插件打包到一个jar中,将属性文件留在外部: -带pluginA.properties的pluginA -带pluginB.properties的pluginB -需要pluginA和pluginB的pluginC 属性文件可从其相关插件中访问,例如pluginA.properties可从pluginA访问。 但是,无法从pluginC访问属性文件。 有人能帮忙吗? 谢谢:)我不太明白你的问题。 您是否有包含存储属性

试图将多个插件及其属性文件打包到一个可执行jar中是令人沮丧的一天。

如何将这些插件打包到一个jar中,将属性文件留在外部:
-带pluginA.properties的pluginA
-带pluginB.properties的pluginB
-需要pluginA和pluginB的pluginC

属性文件可从其相关插件中访问,例如pluginA.properties可从pluginA访问。
但是,无法从pluginC访问属性文件。

有人能帮忙吗?


谢谢:)

我不太明白你的问题。
您是否有包含存储属性文件的文件夹的jar类路径(在元文件中)?

当pluginA应该使用类frmo pluginB时,pluginA必须将包路径放入运行时包。您可以在清单->运行时->导出的包中找到配置

当您想要使用属性文件时,您必须使用被调用插件的包来找到正确的属性文件。 尝试将pluginC作为pluginA的默认插件实现

AbstractUIPlugin.getDefault()

然后搜索bundle对象并使用findResource方法查找属性文件

另一种方法是在pluginA中编写一个实用程序类,为您提供特定键的属性值。这个类你可以从你想要的每个插件调用

您可以通过调用

导出->可部署插件和 碎片


然后,您可以检查导出是否有效以及所有文件是否都在jar中。如果没有,您必须更新您的MANIFEST或build.properties文件

您使用的构建工具是什么?ANT、Maven,甚至只是命令行Jar工具?@Cogsy,我正在尝试使用Eclipse导出创建Jar文件。您如何尝试从pluginC访问属性文件?@g adrieu,我的元文件只是一个带有“类路径:”
的简单文件。在我的Eclipse工作区中,我有3个插件项目。PluginC依赖于PluginA和PluginB。然而,当我试图将这3个插件导出到一个jar文件中时,PluginC中的主程序无法让PluginA访问其PluginA.properties文件。您无法将3个插件导出到一个jar中!每个插件都是一个jar。