Automaticamente: (via webupd8 helper ppa repository)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
% bl0ck_qu0te%
Manualmente:
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?
Automaticamente: (via webupd8 helper ppa repository)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
% bl0ck_qu0te%
Manualmente:
Você pode tentar definir o CLASSPATH
em vez de PATH
. O Java tenta carregar suas classes dos locais referenciados por CLASSPATH
.
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. .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
.
não estava presente na sua entrada CLASSPATH
anterior, em seguida, modificar a última linha como export CLASSPATH=$CLASSPATH:$javaFx_home:.
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.
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 favor, continue considerando linha por linha.
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
Altere para o usuário raiz executando as seguintes ações:
Digite / Copie / Cole: sudo -s
Digite / Copie / Cole: cd / home / "seu_diretório_usuário" / Downloads
Digite / Copie / Cole: cp -r javafx_sdk-1_3-linux-i586.sh / usr / local
Digite / Copie / Cole: cd / usr / local
E como root, torne o script de shell JavaFX executável executando os seguintes comandos:
Digite / Copie / Cole: sudo chmod a + x javafx_sdk-1_3-linux-i586.sh
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
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
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
Salve o arquivo e saia
Recarregue seu arquivo / etc / profile executando o seguinte comando: Digite / Copie / Cole:. / etc / profile
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
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
Agora reinicie o seu sistema Ubuntu Linux e o JavaFX deve ser totalmente instalado para uso.