【问题标题】:How do I include RTI nddsjava library in a jar with dependencies?如何在具有依赖项的 jar 中包含 RTI nddsjava 库?
【发布时间】:2014-07-30 05:47:21
【问题描述】:

我正在处理一个使用 Maven 设置的 Java 项目。我已经设置了我的 pom 以包含所有依赖项,并使用适当的 maven 插件创建一个带有依赖项的 jar。 RTI nddsjava 库已加载到我的 maven 存储库服务器上,但由于某种原因,当我尝试在 nddsjava 中加载类时(例如 com.rti.dds.domain.DomainParticipant)。关于如何创建一个所有依赖项完全独立运行的 jar 的任何建议?

【问题讨论】:

    标签: maven data-distribution-service


    【解决方案1】:

    您是否在运行时或打包期间遇到问题?您上面的陈述是您遇到的问题的症状。

    RTI Connext 的 Java 绑定依赖于 3 个本机库。因此,如果您遇到运行时问题,则需要将这些库打包为可交付成果的一部分。此外,这些库需要在动态库加载路径上可用(Windows 上的 PATH,*nix 上的 LD_LIBRARY_PATH,Mac OS X 上的 DYLD_LIBRARY_PATH)。

    【讨论】:

    • 我在运行时遇到了问题。因此,正如您所建议的,我最终通过将 ndds 库放在 Ubuntu 的 LD_LIBRARY_PATH 上来运行我的程序。有没有办法避免这样做?还是您最终不得不在 Java 中加载系统库?
    • 我们的 Java 库需要加载原生库,没错。所以这是目前解决问题最实用的方法。您使用的是 OSGi 还是其他容器?我们一直在考虑制作一个 OSGi 包,它可以通过制作一个 .jar 文件来解决这个问题,该文件具有嵌入在其中的所有受支持平台的本机库。这对你的情况有帮助吗?
    猜你喜欢
    • 2023-03-30
    • 2016-01-31
    • 1970-01-01
    • 2016-06-20
    • 2023-03-27
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多