Equinox OSGi + JavaFX解析依赖

时间:2015-06-29 11:30:19

标签: java javafx dependencies osgi equinox

我正在尝试2天来解决这个春分问题:)

我的目标:我想创建一个基于osgi的JavaFX UI应用程序

到目前为止我做了什么:

1)基于以下步骤在Eclipse中创建目标运行时:

2)然后我用New创建了 - >项目 - > JavaFX - > OSGI是一个OSGi应用项目

3)Hit Run - WORKED yes:)

4)我的下一个目标是我想要一个独立的应用程序而不启动eclipse

5)我将我的应用程序导出为可部署的插件

6)只用org.eclipse.osgi_3.2.0.jar和我的app jar创建了一个新的目录

7)运行:java -jar org.eclipse.osgi_3.2.0.jar -console

8)输入命令:安装文件:app.jar

9)diag 1

10)4个未解决的依赖(fx osgi equinox stuff等)

直到这一点,我以为我是在正确的道路上。 我可以理解我的应用程序需要那些必需的包来获得状态“已解决”。所以我想我可以通过互联网手动下载jar文件..并猜测每个包都带来了新的依赖关系:P

然后我发现有一个功能函数用eclipse导出所有需要的包,所以我有一个导出,包括这些文件:

features\
plugins\
JFXTest.app_1.0.0.201506291019.jar
org.eclipse.core.contenttype_3.5.0.v20150421-2214.jar
org.eclipse.core.databinding.observable_1.5.0.v20150422-0725.jar
org.eclipse.core.databinding.property_1.5.0.v20150422-0725.jar
org.eclipse.core.databinding_1.5.0.v20150422-0725.jar
org.eclipse.core.jobs_3.7.0.v20150330-2103.jar
org.eclipse.core.runtime_3.11.0.v20150405-1723.jar
org.eclipse.equinox.app_1.3.300.v20150423-1356.jar
org.eclipse.equinox.common_3.7.0.v20150402-1709.jar
org.eclipse.equinox.ds_1.4.300.v20150423-1356.jar
org.eclipse.equinox.event_1.3.100.v20140115-1647.jar
org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
org.eclipse.equinox.preferences_3.5.300.v20150408-1437.jar
org.eclipse.equinox.registry_3.6.0.v20150318-1503.jar
org.eclipse.equinox.util_1.0.500.v20130404-1337.jar
org.eclipse.fx.core.databinding_2.1.0.201506281929.jar
org.eclipse.fx.javafx_2.2.0.201506281924.jar
org.eclipse.fx.osgi_2.1.0.201506281924.jar
org.eclipse.osgi.services_3.5.0.v20150519-2006.jar
org.eclipse.osgi_3.10.100.v20150529-1857.jar
artifacts.jar
content.jar

现在我的问题是:)

1)如何在不输入每个依赖jar的情况下安装所有这些,或者一般来说我的想法完全错误;)

2)OSGi jar文件是否有一种方法可以从一个正式的在线存储库或类似的东西加载他需要的所有东西?

3)如果我想将我的应用程序作为独立使用,我不想输入所有osgi命令等。我发现有可能使用启动器(也需要依赖,如何解决?)和eclipse.exe 在这里我确实有一个理解问题:我不清楚eclipse和osgi实现equinox之间是否存在边界。

非常感谢 和来自德国的问候

CheVeyo

2 个答案:

答案 0 :(得分:0)

Eclipse Screenshot of an OSGi Application Project

我今天试图取得一些进展。我找到了"出口产品"在Eclipse中的功能,但我一直尝试导出它,它一直抱怨某个包丢失。但是到目前为止我可以看到它,它在插件依赖项下列出了一定的路径。

有人可以为它带来一些亮点:P我的意思是它无法修复标准的日食项目^^

答案 1 :(得分:0)

我自己找到了解决问题的方法。 显然在feature.xml中缺少几行:

    <plugin id="org.eclipse.fx.osgi.util" install-size="0" version="0.0.0" unpack="false" />
    <plugin id="org.eclipse.fx.ui.databinding" install-size="0" version="0.0.0" unpack="false" />
    <plugin id="org.eclipse.fx.core" install-size="0" version="0.0.0" unpack="false" />
    <plugin id="javax.inject" install-size="0" version="0.0.0" unpack="false" />
    <plugin id="org.apache.commons.lang" install-size="0" version="0.0.0" unpack="false" />

添加它们后它工作正常,我得到了一个eclipse和存储库目录。 在下一步中,我从这个位置下载了启动器: http://archive.eclipse.org/eclipse/equinox/drops/R-3.3-200706251500/index.php 并在之前创建的eclipse目录中解压缩,然后我启动了eclipse.exe(不要覆盖任何东西!)

但我认为基于OSGI的应用程序的标准eclipse项目中肯定存在错误!

我将此线程打开以进一步解散