javax.comm.properties 已经放在%JAVA_HOME%/jre/lib 下
win32com.dll 已经放在%JAVA_HOME%/jre/bin 下
comm.jar 已经放在%JAVA_HOME%/jre/lib/ext 下 在eclipse开发环境中运行可以读出端口,但将项目export为jar 包后独立运行就读不出。
请问这是什么原因。
win32com.dll 已经放在%JAVA_HOME%/jre/bin 下
comm.jar 已经放在%JAVA_HOME%/jre/lib/ext 下 在eclipse开发环境中运行可以读出端口,但将项目export为jar 包后独立运行就读不出。
请问这是什么原因。
最终放弃了javax.comm.*,使用了RXTX
1.将所有项目中用到的javax.comm相关的东西全删掉。包括win32com.dll,java.comm.properties,和comm.jar
项目中的相关引用也去掉。
2.下载最新的RXTX稳定版
3.项目下建立lib目录,将用到的jar包和RXTXcomm.jar,rxtxParallel.dll,rxtxSerial.dll拷到这个目录。
4.项目中引用RXTXcomm.jar 并将此jar 的Nativl library location设置为 lib目录
5.建立MF文件,Class-Path 中配置所有引用的包和dll
6.export jar原理参照以下代码:org.smslib.helper.CommPortIdentifier
static
{
try
{
classCommPortIdentifier = Class.forName("javax.comm.CommPortIdentifier");
}
catch (ClassNotFoundException e1)
{
try
{
classCommPortIdentifier = Class.forName("gnu.io.CommPortIdentifier");
}
catch (ClassNotFoundException e2)
{
throw new RuntimeException("CommPortIdentifier class not found");
}
}
try
{
Field f;
f = classCommPortIdentifier.getField("PORT_SERIAL");
PORT_SERIAL = f.getInt(null);
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}
就当个参考吧
虽然晚了点
5.建立MF文件,Class-Path 中配置所有引用的包和dll
6.export jar