Windows 7 中的 RXTX 问题,但 Windows 8 中没有
Problems with RXTX in Windows 7, but not in Windows 8
我正在做一个使用 RXTX 的项目。我将它导出为一个可执行的 jar,它位于如下文件夹中:
MainFolder
- lib
- RXTXcomm.jar
- ... more jars
- logs
- config.properties
- App.jar <-- Executable jar
在我的计算机 (Windows 8.1) 中运行完美,但它也必须在其他计算机 (Windows 7) 上运行。程序在此方法停止的位置:
public void getPortIdentifiers() {
if(testMode) {
// TODO puertos.elements();
} else {
if(Controller.debug) logger.info("Obteniendo identificadores... ");
//identificadores = CommPortIdentifier.getPortIdentifiers();
for(int i=0; i<15; i++) {
String commPort = "COM"+i;
try {
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(commPort);
logger.info("Puerto {} OK", commPort);
} catch (NoSuchPortException e) {
logger.error("Puerto {} FAIL", commPort);
}
}
if(Controller.debug) logger.info("... Listo!");
}
}
程序在 CommPortIdentifier.getPortIdentifiers()
停止,阅读 this 问题让我尝试使用 for 列出所有可能的端口。但在我的日志中,我总是一样:
...
2015-05-14 12:56:59 [INFO ] Controller - Cargando los puertos
2015-05-14 12:56:59 [INFO ] CommunicationManager - Obteniendo identificadores...
之前的问题,darkhelmet说在Windows7上重建问题解决了。但是我的必须在Windows8和Windows7上工作,我必须有吗?两个工作区各一个?
最后我可以在其他 Windows 8 上测试它,但它也没有用。使用这个 W8 我遇到了两个问题
1. 其他 java 版本。
2. 没有 rxtxSerial64.dll.
为了使其与更多 java 版本兼容,我用 jdk6 重建了我的项目(以防万一 :D)。
对于第二个问题,我只是将 rxtxSerial.dll 和 rxtxSerial64.dll 放在文件夹中,在我的 App.jar.
级别
对于 Windows7 台计算机,问题只是第二个,因为两台计算机的 jre 版本相同。
希望对大家有帮助
我正在做一个使用 RXTX 的项目。我将它导出为一个可执行的 jar,它位于如下文件夹中:
MainFolder
- lib
- RXTXcomm.jar
- ... more jars
- logs
- config.properties
- App.jar <-- Executable jar
在我的计算机 (Windows 8.1) 中运行完美,但它也必须在其他计算机 (Windows 7) 上运行。程序在此方法停止的位置:
public void getPortIdentifiers() {
if(testMode) {
// TODO puertos.elements();
} else {
if(Controller.debug) logger.info("Obteniendo identificadores... ");
//identificadores = CommPortIdentifier.getPortIdentifiers();
for(int i=0; i<15; i++) {
String commPort = "COM"+i;
try {
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(commPort);
logger.info("Puerto {} OK", commPort);
} catch (NoSuchPortException e) {
logger.error("Puerto {} FAIL", commPort);
}
}
if(Controller.debug) logger.info("... Listo!");
}
}
程序在 CommPortIdentifier.getPortIdentifiers()
停止,阅读 this 问题让我尝试使用 for 列出所有可能的端口。但在我的日志中,我总是一样:
...
2015-05-14 12:56:59 [INFO ] Controller - Cargando los puertos
2015-05-14 12:56:59 [INFO ] CommunicationManager - Obteniendo identificadores...
之前的问题,darkhelmet说在Windows7上重建问题解决了。但是我的必须在Windows8和Windows7上工作,我必须有吗?两个工作区各一个?
最后我可以在其他 Windows 8 上测试它,但它也没有用。使用这个 W8 我遇到了两个问题 1. 其他 java 版本。 2. 没有 rxtxSerial64.dll.
为了使其与更多 java 版本兼容,我用 jdk6 重建了我的项目(以防万一 :D)。
对于第二个问题,我只是将 rxtxSerial.dll 和 rxtxSerial64.dll 放在文件夹中,在我的 App.jar.
级别对于 Windows7 台计算机,问题只是第二个,因为两台计算机的 jre 版本相同。
希望对大家有帮助