problemas javafx + linux

1. problemas javafx + linux

Matheus de Alcantara Silva
matheusti

(usa Linux Mint)

Enviado em 01/02/2018 - 08:43h

Estou com o seguinte problema:
Sempre que vou criar um projeto javafx no linux eu preciso adicionar o jar jfxrt.jar no build path para que as funções do javafx sejam reconhecida pelo eclipse. Porem quando eu vou fazer isso no windows ele ja vai automaticamente.
Teria alguma maneira de quando eu criar o projeto javafx no linux esse jar ja ir automaticamente junto? Isso fica um problema maior quando preciso trabalhar com projetos assim no estilo maven.
Obrigado a todos dês de já.


  


2. Re: problemas javafx + linux

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 01/02/2018 - 13:05h

Caro Matheus,

O projeto JavaFX foi incorporado ao JRE a partir da versão 8. Porém ele só é distribuído junto com o JRE/JDK no Oracle Java. No caso do openjdk, é preciso instalar um pacote separado (openjfx) para adicionar a funcionalidade do JavaFX. Como você já tem essa funcionalidade, suponho que já o instalou (ou está usando o Oracle Java? nesse caso não deveria haver esse tipo de problema).

O fato de o openjfx ser um pacote separado pode implicar em que ele seja adicionado a um diretório diferente do JDK, isso varia de distro para distro. Normalmente quando isso acontece, a solução de contorno é criar links simbólicos dentro do diretório do JDK, para que as bibliotecas do JavaFX sejam expostas como parte do próprio JDK, ficando assim transparente para as IDEs e sem necessidade de configuração adicional.

---

Atenciosamente,
Hugo Cerqueira


3. Re: problemas javafx + linux

Matheus de Alcantara Silva
matheusti

(usa Linux Mint)

Enviado em 01/02/2018 - 18:48h

hrcerq escreveu:

Caro Matheus,

O projeto JavaFX foi incorporado ao JRE a partir da versão 8. Porém ele só é distribuído junto com o JRE/JDK no Oracle Java. No caso do openjdk, é preciso instalar um pacote separado (openjfx) para adicionar a funcionalidade do JavaFX. Como você já tem essa funcionalidade, suponho que já o instalou (ou está usando o Oracle Java? nesse caso não deveria haver esse tipo de problema).

O fato de o openjfx ser um pacote separado pode implicar em que ele seja adicionado a um diretório diferente do JDK, isso varia de distro para distro. Normalmente quando isso acontece, a solução de contorno é criar links simbólicos dentro do diretório do JDK, para que as bibliotecas do JavaFX sejam expostas como parte do próprio JDK, ficando assim transparente para as IDEs e sem necessidade de configuração adicional.

---

Atenciosamente,
Hugo Cerqueira

eu adicionei o jar jfxrt.jar na jdk e o codigo parou de apresentar erros e executa normalmente
porem ele apresenta esse warning no console
** (java:7501): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-UNuB8iwrdi: Conexão recusada




4. Re: problemas javafx + linux

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 03/02/2018 - 17:36h

matheusti escreveu:

eu adicionei o jar jfxrt.jar na jdk [...]


Como exatamente você fez isso? Criou um link simbólico ou simplesmente jogou o pacote jar no diretório do jdk? No caso de ter adicionado o arquivo no diretório do jdk, aconselho que o remova, pois essa não é a melhor abordagem. Você já tem o openjfx instalado, de modo que basta criar um link simbólico apontando para ele.

Além disso, o jfxrt.jar não é a única referência que você precisa dentro do jdk. Antes de se preocupar em criar esses links, seria interessante ver se já não existe algum pacote na sua distribuição que faz isso para você. Se houver, é uma solução preferível, já que a cada atualização dos pacotes do Java, esses links precisam ser recriados.

Além disso, pode ser que o problema esteja no próprio Eclipse (ou seja, pode ser que os links já tenham sido criados quando da instalação do openjfx). Quando você cria um projeto Java, deve determinar qual instalação do JDK pretende usar. Se estiver usando uma instalação diferente da que tem as bibliotecas JavaFX, ele realmente não vai encontrar as bibliotecas e apresentar esses erros.

Você pode verificar essa questão executando uma aplicação JavaFX fora do Eclipse. Nesse caso, pode ser qualquer Hello World, apenas para ver se consegue executar a aplicação, ou se também aparecem erros de resolução de biblioteca.

---

Atenciosamente,
Hugo Cerqueira






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts