Ошибка, брошенная при загрузке gnu.io. RXTXCommDriver

Я пытаюсь запустить программу Java, которые перечисляют все доступные порты с помощью Eclipse IDE в Ubuntu 14.04. Моя программа следующие:

import gnu.io.CommPortIdentifier;

import java.util.Enumeration;


public class ListAvailablePorts {

public void list() {  
    Enumeration ports = CommPortIdentifier.getPortIdentifiers();  

    while(ports.hasMoreElements())  
        System.out.println(((CommPortIdentifier)ports.nextElement()).getName());
}
public static void main(String[] args) {
    new ListAvailablePorts().list(); 

}

}

Но это показывает соблюдающее предупреждение, соблюдавшее ошибкой:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library     /usr/lib/jvm/java-8-oracle/jre/lib/amd64/librxtxSerial.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/librxtxSerial.so: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/librxtxSerial.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/librxtxSerial.so: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/librxtxSerial.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
at ListAvailablePorts.list(ListAvailablePorts.java:11)
at ListAvailablePorts.main(ListAvailablePorts.java:17)
0
задан 26 February 2015 в 11:00

1 ответ

Привет у меня была эта проблема также

Я использую ubantu 12.4 на старой машине, что я нашел, был то, что пользовавшаяся библиотека была неправильной, можно загрузить корректные библиотеки для этого от Вас, нуждаются в o, также изменяют Ваш Java на Java оракула и следуют инструкциям для установки, это на ubantu удостоверяется, что Вы делаете это сначала

После которых альтернатив обновления Java и избранная Oracle Java для jvm

Инструкции ниже относительно ссылки здесь, которую я рекомендовал бы Вам, делают это вручную, она учит Вас, как установить это вручную, чтобы быть справедливой, безусловно лучший метод

https://stackoverflow.com/questions/25729592/how-to-install-jdk-8-in-ubuntu-12-04-using-tar-gz-file

Предпочтительно следуйте этим инструкциям

Как я могу установить Sun/Oracle собственный Java JDK 6/7/8 или JRE?

Также необходимо сделать себя членом uucp и набора иначе Вы привычка смочь открыть последовательный порт

См. инструкции для того, чтобы сделать это ниже

Как добавить существующего пользователя к существующей группе?

После этого Вам нужен RXTX от сети, это может быть загружено с http://rxtx.qbang.org/wiki/index.php/Download

Вы хотите rxtx 2.1-7r2 (стабильный) выпуск для Linux

откройте zip-файл и следуйте инструкциям

Когда дело доходит до установки библиотеки используют файл в "i686-unknown-linux-gnu" Папке и копии в Ваш jdk / jvm папка, столь же проинструктированная, пока зарегистрированный как корень (sudo-i) для корневого доступа

Затем Вы возможно захотите язя

Моим предложением является Netbeans, снова просто следуют инструкциям для установки на Linux

После выполнения ВСЕГО ВЫШЕУПОМЯНУТОГО "НАСТОЯЩИЙ ПРОЦЕСС, ТАК НЕ ТОРОПИТЕСЬ"

Прошлый код в Netbeans, создававший проект, Это работало на меня!!

См. Демонстрационный Код Java в этой ссылке здесь для получения лучше понимания

http://playground.arduino.cc/Interfacing/Java

Я использую это для общения с моим Ардуино dev плата, для которой я предпочитаю писать свои собственные интерфейсы

Необходимо будет также добавить, что соответствующий файл банки к проекту видит изображение ниже

Чтобы сделать это, необходимо будет щелкнуть правой кнопкой по библиотеке и сказать язя, где найти rxtxcomm файл банки так, чтобы можно было добавить это к проекту

Я имел огромный успех с этой PS, я только использовал Ubantu теперь в течение 4 недель, и уже я продаюсь на этой OS его настолько хороший

0
ответ дан 3 August 2019 в 14:24

Другие вопросы по тегам:

Похожие вопросы: