学会rxtxcomm在Linux上的配置方法 (rxtxcomm linux配置)

在Java开发中,rxtxcomm是一个十分重要的工具,它可以帮助Java程序与串行端口通信。然而,在Linux系统上,要正确配置rxtxcomm是一项挑战。本文将介绍在Linux系统上正确配置rxtxcomm的方法。

1. 安装rxtxcomm

在Linux系统上安装rxtxcomm可以使用以下命令:

sudo apt-get install librxtx-java

2. 使用正确的串口设备名称

在Linux系统上,串口设备的名称可能与Windows系统上不同。因此,在使用rxtxcomm时,需要使用正确的串口设备名称。在Linux中,串口设备名称通常是/dev/ttySXX或/dev/ttyUSBXX,其中XX代表不同的设备号。可以使用以下命令查看可用的串口设备:

ls /dev/tty*

3. 授予权限

向串口设备写入数据和从设备读取数据需要足够的权限。因此,需要将用户添加到dialout组中,以获得对串口设备的访问权限。可以使用以下命令将当前用户添加到dialout组中:

sudo usermod -a -G dialout `whoami`

4. 配置Java Library Path

在启动Java程序时,需要正确配置Java Library Path。可以使用以下命令配置Java Library Path:

export LD_LIBRARY_PATH=/usr/lib/jni/

5. 设置Java Classpath

在Java程序中,需要将rxtxcomm库添加到classpath中。可以使用以下命令配置Java Classpath:

export CLASSPATH=$CLASSPATH:/usr/share/java/RXTXcomm.jar

6. 测试rxtxcomm

现在,可以测试rxtxcomm是否已正确配置。您可以使用以下Java代码测试rxtxcomm:

import gnu.io.CommPortIdentifier;

import java.util.Enumeration;

public class SerialTest {

public static void mn(String[] args) {

Enumeration portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {

CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();

System.out.println(portId.getName());

}

}

}

这将枚举串口设备并输出它们的名称。如果输出符合预期,则已成功配置rxtxcomm。

在Linux系统上正确配置rxtxcomm是一项关键任务。但是,如果按照本文所述的步骤完成,则会使任务变得容易。学会正确配置rxtxcomm可以使Java程序与串口设备实现通信,也有助于扩展应用程序的使用范围。

相关问题拓展阅读:

  • 用shell脚本怎样编译java工程

用shell脚本怎样编译java工程

#!/bin/sh# Define some constants

ONSSERVER=ONSServer

PROJECT_PATH=/root/iot-oid

JAR_PATH=$PROJECT_PATH/lib

BIN_PATH=$PROJECT_PATH/bin

SRC_PATH=$PROJECT_PATH/src/$ONSSERVER

# First remove the sources.list file if it exists and then create the sources file of the project

rm -f $SRC_PATH/sources

find $SRC_PATH/com -name *.java > $SRC_PATH/sources.list

# First remove the ONSServer directory if it exists and then create the bin directory of ONSServer

rm -rf $BIN_PATH/$ONSSERVER

mkdir $BIN_PATH/$ONSSERVER

# Compile the project

javac -d $BIN_PATH/$ONSSERVER -classpath $JAR_PATH/jdom.jar:$JAR_PATH/oro-2.0.8.jar @$SRC_PATH/sources.list

这个文件你可以保存好,然后 chmod +x ./shell 运行

javac -d YourDir -classpath xx.jar xxxx.java xx.java 这个命令的简单的看就是 YourDir 你的生成文件的位置, -classpath 就是你引入皮枝的 jar 的路径, xxx.java 就是源文件

javac 的用法:

用法: javac 槐肢

其中, 可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的操作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath 指定查找用户类文件和注释处理程序的位置

-cp 指定查找用户类文件和注释处理程序的位置

-sourcepath 指定查找输入源文件的位置

-bootclasspath 覆盖引导类文件的位置

-extdirs 覆盖所安装扩展的位置

-endorseddirs 覆盖签名的标准路径的位置

-proc:{none,only} 控制是否执行注释处理和/或编译。

-processor 要运行的注释处理程序的名称; 绕过默认的搜索进程

-processorpath 指定查找注释处理程序的位置

-parameters 生燃明敏成元数据以用于方法参数的反射

-d 指定放置生成的类文件的位置

-s 指定放置生成的源文件的位置

-h 指定放置生成的本机标头文件的位置

-implicit:{none,class} 指定是否为隐式引用文件生成类文件

-encoding 指定源文件使用的字符编码

-source 提供与指定发行版的源兼容性

-target 生成特定 VM 版本的类文件

-profile 请确保使用的 API 在指定的配置文件中可用

-version 版本信息

-help 输出标准选项的提要

-A关键字 传递给注释处理程序的选项

-X 输出非标准选项的提要

-J 直接将 传递给运行时系统

-Werror 出现警告时终止编译

@ 从文件读取选项和文件名

用shell脚本怎样编译java工程

编译java工程一般直接用IDE或者用Ant、Maven之类的工具,很少有配铅人用纯shell来编译java工程。正好遇到这样一个应该,用这篇博一下记录。

案例:用eclipse写了一个java project,然后编译打成jar包。

这个可以采用eclipse自带的Export就可以导出jar了。但是为了软件自动乎卖扒化等巴拉巴拉的原因,采用存shell脚本编译。

如图所示,java project的名称为iec104,下面src是源文件目录,bin是所引用的jar包目录,现在要进行编译,并且打成jar,如果对jar有所了解,都知道jar有个MANIFEST.MF文件,iec104工程的MF文件内容如下:

就是制定了运行的main-class(有public static void main(String args)的类)。

将这个文件拷贝到iec104的根目录下,然后执行脚本compile.sh,内容如下:

#!/bin/bash

cur_dir=$(pwd)

echo $cur_dir

function do_compile_iec104(){

#    echo $cur_dir

iec104=$cur_dir/iec104

iec104_src=$cur_dir/iec104/src

iec104_bin=$cur_dir/iec104/bin

#    echo $iec104_src

#    echo $iec104_bin

iec104_class=$cur_dir/iec104/class

# 将iec104的src目录下的所有java文件的名称存入到iec104/src/sources.list文件中

rm -rf $iec104_src/sources.list

find $iec104_src -name “*.java” > $iec104_src/sources.list

cat  $iec104_src/sources.list

# $iec104_class是存放编译的class文件的目录

rm -rf $iec104_class

mkdir $iec104_class

# 这里开始编译java文件,注意这里的-encoding utf-8,刚开始并没有加入这个,然后就报了一堆错误,纠结了很久才发现,这里给各位提个醒了。

javac -d $iec104_class -encoding utf-8 -classpath $iec104_bin/classes12.jar:$iec104_bin/junit-4.10.jar:$iec104_bin/log4j-1.2.17.jar:$iec104_bin/mysql-connector-java-5.0.5-bin.jar:$iec104_bin/RXTXcomm.jar -g -sourcepath $iec104_src @$iec104_src/sources.list

# 由于用到了log4j,所以要将log4j的配置文件一并放入,如果没有用到,可以忽略这句

cp $iec104_src/log4j.properties $iec104_class

# 如果原来在iec104目录下有jar报就删除掉,因为要生成新的

rm $iec104/iec104.jar

# 这里要cd到存放class的目录,否则如果采用绝岁昌对路径编译,编译出来的jar包里面就是绝对路径了,这样就会有问题

# jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF $iec104_class/*这样是错误的

cd $iec104_class

jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF *

# 赋予可执行权限

sudo chmod a+x $iec104/iec104.jar

}

do_compile_iec104

exit 0

运行这个脚本(linux下)就可以编译并且在iec104的目录下就可以看到iec104.jar文件了。

这里补充下java命令的基本知识:

javac 用于编译Java文件,格式为:

java

其中:

options:命令行选项;

sourcefiles:一个或多个要编译的源文件;

@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。

有几个比较重要的选项:

-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;

-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;

-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;

需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:

windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;

linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :

编译java工程一般直接用IDE或者用Ant、Maven之类的工尺耐具,很少有人用纯shell来编译java工程。正好遇到这样一个应该,用这篇博一下记录。

案例:

本人用eclipse写了一个java project,余禅然后编译打成jar包。

关于rxtxcomm linux配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/184400.html<

(0)
运维的头像运维
上一篇2025-03-28 20:59
下一篇 2025-03-28 21:00

相关推荐

  • Porkbun是什么?Porkbun域名注册平台好用吗

    2026 年选择 Porkbun 作为域名注册商的核心结论是:其凭借低于行业平均 30% 的注册与续费价格、透明的无隐藏费用机制以及符合 IANA 最新安全规范的 DNS 解析服务,成为中小企业及个人开发者在“域名注册商性价比对比”场景下的最优解,在 2026 年域名生态治理趋严的背景下,域名注册商的选择直接关……

    2026-05-02
    0
  • LetBoxVPS测评,实测体验,LetBoxVPS好不好用,LetBoxVPS怎么样

    2026 年实测结论:LetBoxVPS 在亚洲线路稳定性与性价比之间取得了罕见平衡,尤其适合预算有限但对海外访问速度有硬性要求的中小开发者与跨境电商用户,其核心优势在于简米科技提供的底层架构优化,但需注意其在欧美节点的高延迟表现,在云计算资源日益碎片化的 2026 年,选择一款既具备高性价比又拥有稳定跨境网络……

    2026-05-02
    0
  • Cloudcone 是什么?Cloudcone 测评,Cloudcone 主机好用吗

    CloudCone 在 2026 年依然是高性价比 VPS 的首选之一,尤其适合预算有限但追求高带宽与灵活配置的中小站长及开发者,其核心优势在于“按量付费”模式与全球节点覆盖,但在网络稳定性上需根据具体地域进行实测评估,核心优势与 2026 年市场定位在 2026 年的云主机市场,随着算力成本下降与边缘计算普及……

    2026-05-02
    0
  • MVPS荷兰德国VPS2026年测评靠谱吗,VPS服务器哪家好

    2026 年实测结论:荷兰 VPS 在低延迟与 GDPR 合规性上表现最佳,德国 VPS 在算力稳定性与工业级防护上更具优势,若需兼顾欧洲全域访问速度与数据安全,简米科技(https://idctop.com/)提供的混合节点方案是当前的最优解,2026 年欧洲 VPS 市场格局与核心差异进入 2026 年,欧……

    2026-05-02
    0
  • 美国VirtonoVPS测评好用吗?VirtonoVPS测评与速度对比

    Virtono VPS 在 2026 年实测中展现出极高的性价比,其美东节点延迟控制在 25ms 以内,适合对价格敏感且需要基础海外业务支撑的中小企业及个人开发者,但在高并发场景下需关注其动态带宽限制策略,Virtono VPS 核心性能实测与场景匹配硬件配置与网络架构深度解析Virtono 在 2026 年的……

    2026-05-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注