Como instalar o JavaFx no Ubuntu 12.04?

3

Eu faço o download do JavaFx de aqui . Coloquei no meu diretório pessoal ( anto ) sob o nome javafx . Então fiz algo assim:

vi ~/.bashrc

e adicionou as seguintes linhas:

javaFx_home=/anto/javafx/rt/lib/jfxrt.jar
export PATH=$PATH:$javaFx_home

Mas depois de fornecer o classpath, tentei executar:

groovy MyProgram

(que depende do caminho de classe do JavaFx).

Mas isso me causa um erro. Onde eu errei?

    
por Ant's 04.06.2012 / 05:11

5 respostas

2

Automaticamente: (via webupd8 helper ppa repository)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
  

Observação: você pode substituir oracle-java7-installer por oracle-java8-installer ou oracle-java9-installer . Você precisará aceitar o Contrato de Licença de Usuário Final da Oracle antes da instalação (isso não é necessário com o OpenJDK, portanto, se uma porta de retorno do OpenJDK for liberada para 12.04, atualize este post! :)

Manualmente:

por Mohd Arafat Hossain 05.05.2012 / 06:08
1

Você pode tentar definir o CLASSPATH em vez de PATH . O Java tenta carregar suas classes dos locais referenciados por CLASSPATH .

  • Primeiro verifique seu classpath existente com echo $CLASSPATH . Como PATH , as entradas para CLASSPATH são separadas por : (dois pontos). A presença de uma entrada . em CLASSPATH significa que java sempre pode carregar classes do diretório atual.
  • Para adicionar uma biblioteca .jar ao seu CLASSPATH , abra o arquivo ~/.profile e adicione export CLASSPATH=$CLASSPATH:path to .jar a ele. Como no seu caso, deve ser

    javaFx_home=/home/anto/javafx/rt/lib/jfxrt.jar
    export CLASSPATH=$CLASSPATH:$javaFx_home

    se . não estava presente na sua entrada CLASSPATH anterior, em seguida, modificar a última linha como
    export CLASSPATH=$CLASSPATH:$javaFx_home:.
por Samik 12.06.2012 / 21:52
0

Aqui está o que eu encontrei até agora.

Eu fiz o download do JavaFX SDK 1.2 e 2.2 . Eles removeram alguns arquivos do JavaFX SDK.

Para 1.2

virpara@Ascension:~$ tree -L 2 '/home/virpara/Desktop/javafx-sdk1.2' 
/home/virpara/Desktop/javafx-sdk1.2
|-- bin
|   |-- javafx
|   |-- javafxc
|   |-- javafxdoc
|   '-- javafxpackager
|-- COPYRIGHT.html
|-- docs
|   |-- api
|   |-- emulator.html
|   |-- index.html
|   |-- javafxc.html
|   |-- javafxdoc.html
|   |-- javafx.html
|   |-- javafxpackager.html
|   '-- manpage.css
|-- emulator
|   '-- bin
|-- invoice.properties
|-- lib
|   |-- desktop
|   |-- javafx-runtime.properties
|   |-- mobile
|   '-- shared
|-- LICENSE.txt
|-- profiles
|   |-- desktop.properties
|   '-- mobile.properties
|-- README.html
|-- samples
|   |-- DisplayShelf
|   |-- DisplayShelfMobile
|   |-- DragAndDrop
|   |-- index.html
|   |-- InterestingPhotos
|   |-- LocalSearch
|   |-- MediaBox
|   |-- PathAnimation
|   |-- PhotoEffects
|   |-- PhotoFlip
|   |-- shared
|   '-- SpringAnimation
|-- servicetag
|   '-- registration.jar
|-- src.zip
|-- THIRDPARTYLICENSEREADME.txt
'-- timestamp

23 directories, 23 files

Para 2.2

virpara@Ascension:~$ tree -L 2 '/home/virpara/Desktop/javafx-sdk2.2.0-beta' 
/home/virpara/Desktop/javafx-sdk2.2.0-beta
|-- bin
|   '-- javafxpackager
|-- COPYRIGHT.html
|-- docs
|   '-- api
|-- lib
|   |-- ant-javafx.jar
|   |-- javafx-doclet.jar
|   '-- javafx-mx.jar
|-- README.html
|-- rt
|   |-- COPYRIGHT.html
|   |-- lib
|   |-- README.html
|   '-- THIRDPARTYLICENSEREADME.txt
'-- THIRDPARTYLICENSEREADME.txt

6 directories, 10 files

Existe apenas o script javafxpackager em javafx-sdk2.2.0-beta/bin ( javafx, javafxc, javafxdoc scripts são removidos) isso significa que se você exportar javafx-sdk2.2.0-beta/bin para sua variável PATH e tentar executar javafx --version no terminal, ele não poderá encontre javafx porque não existe um executável chamado javafx .

Bem, eu não tenho experiência com o JavaFX, mas provavelmente eles removeram outros três scripts porque não seriam necessários e talvez javafxpackager faria a coisa ou java é suficiente para isso.

Você tentou incluir o caminho completo para jfxrt.jar para PATH variable.

não funcionará porque não pode passar automaticamente para o parâmetro -cp . Portanto, você deve fornecer o caminho completo para jfxrt.jar as -cp /anto/javafx/rt/lib/jfxrt.jar

java -cp /anto/javafx/rt/lib/jfxrt.jar MyProgram.java

Eu sei que não é uma solução.

    
por Rahul Virpara 09.06.2012 / 08:41
0

Eu tenho o mesmo problema e a resposta do @samik funciona para mim !

Em meu ~.bashrc , como @samik, diga:

export JAVAFX_HOME=/usr/lib/jvm/javafx-sdk2.2.0-beta/rt/lib/jfxrt.jar
export CLASSPATH=$CLASSPATH:$JAVAFX_HOME:.

Agora, um pouco de source .profile e tentamos com um exemplo

touch JavaFxText.java

Eu copio / copio este código de exemplo para o arquivo:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.*;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

/**
 * Simple demonstration of JavaFX text support.
 * 
 * @author Dustin
 */
public class JavaFxText extends Application
{
   /**
    * Start demonstration of JavaFX text capabilities.
    * 
    * @param stage Stage for JavaFX application.
    * @throws Exception Exception in JavaFX application.
    */
   @Override
   public void start(final Stage stage) throws Exception
   {
      stage.setTitle("Simplistic Example of JavaFX 2.0 Text Capabilities");
      final Group rootGroup = new Group();
      final Scene scene =
         new Scene(rootGroup, 800, 400, Color.BEIGE);

      final Text text1 = new Text(25, 25, "(2007) JavaFX based on F3");
      text1.setFill(Color.CHOCOLATE);
      text1.setFont(Font.font(java.awt.Font.SERIF, 25));
      rootGroup.getChildren().add(text1);

      final Text text2 = new Text(25, 50, "(2010) JavaFX Script Deprecated");
      text2.setFill(Color.DARKBLUE);
      text2.setFont(Font.font(java.awt.Font.SANS_SERIF, 30));
      rootGroup.getChildren().add(text2);

      final Text text3 = new Text(25, 75, "(2011) JavaFX to be Open Sourced!");
      text3.setFill(Color.TEAL);
      text3.setFont(Font.font(java.awt.Font.MONOSPACED, 35));
      rootGroup.getChildren().add(text3);

      final Text text4 = new Text(25, 125, "(2011) JavaFX to be Standardized");
      text4.setFill(Color.CRIMSON);
      text4.setFont(Font.font(java.awt.Font.DIALOG, 40));
      final Effect glow = new Glow(1.0);
      text4.setEffect(glow);
      rootGroup.getChildren().add(text4);

      final Text text5 = new Text(25, 175, "(Now) Time for JavaFX 2.0!");
      text5.setFill(Color.DARKVIOLET);
      text5.setFont(Font.font(java.awt.Font.SERIF, FontWeight.EXTRA_BOLD, 45));
      final Light.Distant light = new Light.Distant();
      light.setAzimuth(-135.0);
      final Lighting lighting = new Lighting();
      lighting.setLight(light);
      lighting.setSurfaceScale(9.0);
      text5.setEffect(lighting);
      rootGroup.getChildren().add(text5);

      final Text text6 = new Text(25, 225, "JavaFX News at JavaOne!");
      text6.setFill(Color.DARKGREEN);
      text6.setBlendMode(BlendMode.COLOR_BURN);
      text6.setFont(Font.font(java.awt.Font.DIALOG_INPUT, FontWeight.THIN, 45));
      final Reflection reflection = new Reflection();
      reflection.setFraction(1.0);
      text6.setEffect(reflection);
      rootGroup.getChildren().add(text6);

      stage.setScene(scene);
      stage.show();
   }

   /**
    * Main JavaFX application launching method.
    * 
    * @param arguments Command-line arguments: none expected.
    */
   public static void main(final String[] arguments)
   {
      Application.launch(arguments);
   }
}

E está sendo executado

javac JavaFxText.java
java JavaFxText

Dê a recompensa para @samik, ele merece !!

    
por reyman64 12.06.2012 / 19:06
-5

por favor, continue considerando linha por linha.

  1. Faça o download do script de shell do JavaFX SDK para Linux. O script de shell do JavaFX SDK na maioria dos casos provavelmente será baixado para: / home / "seu_diretório_usuário" / Downloads

  2. Altere para o usuário raiz executando as seguintes ações:

  3. Digite / Copie / Cole: sudo -s

  4. Digite / Copie / Cole: cd / home / "seu_diretório_usuário" / Downloads

  5. Digite / Copie / Cole: cp -r javafx_sdk-1_3-linux-i586.sh / usr / local

  6. Digite / Copie / Cole: cd / usr / local

  7. E como root, torne o script de shell JavaFX executável executando os seguintes comandos:

  8. Digite / Copie / Cole: sudo chmod a + x javafx_sdk-1_3-linux-i586.sh

  9. Em seguida, execute o script de shell executando:

Digite / Copie / Cole: sudo ./javafx_sdk-1_3-linux-i586.sh ou Digite / Copie / Cole: sudo sh javafx_sdk-1_3-linux-i586.sh

  1. Edite a variável de caminho do sistema Ubuntu Linux em / etc / profile, use um editor de texto como raiz, como nano ou gedit. Digite / Copie / Cole: sudo nano / etc / profile ou Digite / Copiar / Colar: sudo gedit / etc / profile

  2. Adicione as seguintes linhas abaixo ao caminho do seu sistema / etc / profile: PATH = $ PATH: $ JAVAFX_HOME: /usr/local/javafx-sdk1.3/bin exportação JAVAFX_HOME PATH de exportação

  3. Salve o arquivo e saia

  4. Recarregue seu arquivo / etc / profile executando o seguinte comando: Digite / Copie / Cole:. / etc / profile

  5. Abra um terminal no Ubuntu Linux, digite o seguinte comando: Digite / Copie / Cole: javafx -version

Este comando permite saber qual versão do javafx está instalada no seu sistema Você deve receber uma mensagem semelhante a: javafx 1.3.1_b101

  1. Execute também o seguinte comando: Digite / Copie / Cole: javafxc -version Este comando permitirá que você compile programas javafx a partir do terminal Você deve receber uma mensagem que declara: javafxc 1.3.1_b101

  2. Agora reinicie o seu sistema Ubuntu Linux e o JavaFX deve ser totalmente instalado para uso.

por Rajat 04.06.2012 / 07:57