Erro lançado ao carregar o gnu.io.RXTXCommDriver

0

Estou tentando executar um programa java que lista todas as portas disponíveis usando o Eclipse IDE no Ubuntu 14.04. Meu programa é o seguinte:

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(); 

}

}

Mas mostra o seguinte aviso seguido de erro:

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)
    
por Dhaval Simaria 26.02.2015 / 09:00

1 resposta

0

Oi eu tive esse problema também

Eu uso o ubantu 12.4 em uma máquina antiga O que eu achei foi que a biblioteca usada estava incorreta Você pode fazer o download das bibliotecas corretas para isso Você também precisa mudar seu Java para oracle Java e seguir as instruções para configurar isso no ubantu make Certifique-se de fazer isso primeiro

Depois do qual update-alternatives java e selecione Oracle java para jvm

As instruções abaixo no link aqui eu recomendo que você faça isso manualmente ensina como instalar manualmente, o que para ser justo é de longe o melhor método

link

De preferência, siga estas instruções

Como posso instalar o Java JDK 6/7/8 ou JRE proprietário da Sun / Oracle?

Você também precisa se tornar um membro do uucp e dial-out, caso contrário você não será capaz de abrir a porta serial

Veja as instruções para fazer isso abaixo

Como adicionar um usuário existente a um grupo existente?

Depois disso, você precisa do RXTX da rede. Ele pode ser baixado link

Você deseja o release rxtx 2.1-7r2 (estável) para o linux

abra o arquivo zip e siga as instruções

Quando se trata de instalar a biblioteca use o arquivo dentro da pasta "i686-unknown-linux-gnu" e copie para sua pasta jdk / jvm conforme instruído enquanto estiver logado como root (sudo -i) para acesso root

Em seguida, você possivelmente desejará um ide

Minha sugestão é que o Netbeans novamente siga as instruções para instalação no linux

Depois de ter feito TODO O ACIMA "BRANCO UM PROCESSO PARA TOMAR SEU TEMPO"

Código passado no Netbeans depois de criar um projeto Isso funcionou para mim !!

Veja o código Java de exemplo neste link aqui para entender melhor

link

Eu uso isso para me comunicar com minha placa de desenvolvimento do Arduino, que eu prefiro escrever minhas próprias interfaces para

Você também precisará adicionar o arquivo jar relevante ao seu projeto, veja a imagem abaixo

Para fazer isso, você precisará clicar com o botão direito do mouse na biblioteca e informar ao ide onde encontrar o arquivo jar rxtxcomm para que possa adicioná-lo ao seu projeto

Eu tive um enorme sucesso com este PS Eu tenho usado o Ubantu agora por 4 semanas e já estou vendendo nesse so que é bom

    
por Mark 17.09.2015 / 22:47