java开发opendds安装及使用步骤

2023-10-24 02:32

本文主要是介绍java开发opendds安装及使用步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装及编译opendds

这个没什么好讲的 ,到官网去下载源代码包,根据安装要求在电脑上安装所需要的环境
官网链接:opendds

java环境设置

解压编译完成,根据官网的测试通过后就可以进入开发流程了:
目录结构
在该目录下执行命令 :source setenv.sh激活虚拟环境,在该目录下新建一个自己工程相关的目录,并在该目录下新建一个 idl 文件,然后按照官网上的步骤一步步进行执行,切记不可在自己的其他的目录下面进行上述操作,一定要在解压后的 opendds 目录下进行
注意点如下(也是我自己踩坑的地方):
在这里插入图片描述
上图中的 Foo 是你自己定义的 idl 文件名,只需要修改这个其他的一定不要动,比如 Export 这个单词,后续编译后是直接按照这个大写进行文件查找的,如果修改了,编译的时候就找不到了,会报错。
在这里插入图片描述
这个是 mpc 文件,只需要修改和文件名相关的东西,将上述文件中的 Foo 全部替换成自己的 idl 文件名,其余的不要动。
以上需要我们自己准备的文件就都齐全了,剩下的就是按照教程一步一步的执行就可以了。

再次强调:一定要激活虚拟环境,一定要在解压后的 opendds 目录下面进行编译生成。

后续 :记录一次 opendds 缺少库文件 导致我调试两天都没调通的问题
过程:按照官网的整个流程部署完毕之后,想通过官网的教程部署一个自己的dds程序,但是使用idea一直在提示一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no OpenDDS_DCPS_Java in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at OpenDDS.DCPS.TheParticipantFactory.loadNativeLib(TheParticipantFactory.java:35) at OpenDDS.DCPS.TheParticipantFactory.<clinit>(TheParticipantFactory.java:21) at main.TestPublisher.main(TestPublisher.java:40)
这个问题困扰了我两天,一直没有找到解决办法,其中在github中有一个类似的问题,大家可以参考:https://github.com/OpenDDS/OpenDDS/issues/838 按照他的方法我的问题始终没有解决,最终的解决方案是这样 :在 opendds 编译成功之后,会在${DDS_ROOT}/java/dds 目录下生成两个文件,libOpenDDS_DCPS_Java.so ;libOpenDDS_DCPS_Java.so.3.23.1这两个文件第一个是软链接,第二个是带版本号的可执行文件,将这两个文件放入 /usr/lib目录下,就可以运行程序了

这篇关于java开发opendds安装及使用步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/272137

相关文章

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境