【问题标题】:Equinox OSGi + JavaFX resolving dependencyEquinox OSGi + JavaFX 解决依赖关系
【发布时间】:2015-09-15 20:23:23
【问题描述】:

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

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

到目前为止我做了什么:

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

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

3) Hit Run - 工作正常:)

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

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

6) 创建了一个新目录,其中仅包含 org.eclipse.osgi_3.2.0.jar 和我的应用程序 jar

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

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

9) 诊断 1

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

直到这一点我认为我是在正确的方式。 我可以理解我的应用程序需要那些必需的包才能获得“已解决”状态。所以我想我可以通过互联网手动下载 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 实现春分之间是否存在边界。

非常感谢 来自德国的问候

切维约

【问题讨论】:

    标签: java javafx dependencies osgi equinox


    【解决方案1】:

    我今天尝试自己取得一些进展。我在 Eclipse 中找到了“导出产品”功能,但我一直尝试导出它,它一直抱怨缺少某个包。但据我所知,它列在具有特定路径的插件依赖项下。

    有人可以为它带来一些启示吗:P 我的意思是修复标准的 Eclipse 项目不会那么困难^^

    【讨论】:

      【解决方案2】:

      我自己找到了解决问题的方法。 显然在 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 项目中一定存在错误!

      我保留此主题以供进一步讨论

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-15
        • 1970-01-01
        • 1970-01-01
        • 2014-05-06
        • 2014-12-18
        • 1970-01-01
        • 1970-01-01
        • 2014-04-14
        相关资源
        最近更新 更多