使用其他文件从单个Jar运行Eclipse Equinox和Application

时间:2009-12-13 09:20:00

标签: java eclipse

我有一个使用Eclipse运行时的应用程序。不幸的是,由于Equinox(Eclispe OSGi实现)中的限制,不可能使用类路径上的所有插件启动Eclipse运行时,因此它实际上必须位于磁盘上。 (有些代码坚持使用“file:”URL协议来查找OSGi框架包。)

我需要让我的应用程序(使用Eclipse)位于单个JAR文件中,并且不依赖于外部环境变量设置。您应该可以像其他任何一样调用我的应用程序的API,它应该可以正常工作。我如何实现这个是使用Java临时文件支持(即File.createTempFile())创建一个临时目录,然后我从类路径中读取所有插件和其他一些东西并将其写入磁盘,所以有预期的Eclipse安装。这大约是10MB的东西,并且IIRC不到一秒钟。但是,我想尽可能避免这种情况,如果可能的话,通过检查它是否已经完成,除非出现问题,否则不要再这样做。

我遇到的一种方法是在已知位置(例如在用户的主目录中)写一些其他小文件,其中包含我的代码的版本号和指向临时位置的指针。另一种方法是将安装位于已知位置(而不是使用Java临时文件支持)。但是随着平台特定的考虑,这会变得混乱。

任何人都有更好的想法来解决这个问题?

0 个答案:

没有答案