Instalação no Java no unix

17 respostas
M

Ola gente alguem sabe, posso configurar o java no Unix??, ou seja alem dos sdk, eu preciso baixar mais algum pacote?? Os comando javac nome_programa.java e java nome_programa, essa sintaxe funciona no unix??

Obrigado

marcio

17 Respostas

Luca

Olá

O pacote a baixar depende do sabor do Unix. Mas é um só pacote.

Tudo funciona igual. É claro que a criação de variáveis de ambiente JAVA_HOME e PATH no Unix difere do Windows.

[]s
Luca

M

Obrigado pela resposta,

O meu problema é o seguinte eu ja instalei o java no meu united linux, mas quando eu vou executar programas batch funciona, mas quando eu vou usar telas graficas GUI, da esse erro:
Can't connect to X11 window
server using '0.0' as the value of the DISPLAY variable.

você sabe que erro é esse?? vc pode me ajudar???

Luca

Olá

Precisa colocar o seguinte no .bash_profile do usuário que usa o java:DISPLAY=term export DISPLAY

[]s
Luca

M

Luca infelizmente deu erro:

# cobjrun Demos
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'term' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:5
4)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:115)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi
ronment.java:53)
        at java.awt.Window.<init>(Window.java:183)
        at java.awt.Frame.<init>(Frame.java:310)
        at java.awt.Frame.<init>(Frame.java:289)
        at javax.swing.JFrame.<init>(JFrame.java:167)
        at Demos.<init>(Demos.java:15)
        at Demos.main(Demos.java:34)

não o que esta acontecendo!!!

Luca

Olá

Se você usa j2sdk 1.4 e está tentando executar um programa usando AWT sem ambiente gráfico instalado (sem display) então precisa colocar na linha de comando que executa o java o seguinte parâmetro:-Djava.awt.headless=true

Veja:
http://www.jguru.com/faq/view.jsp?EID=222296

http://www.idautomation.com/kb/xwindow-error.html

http://www.google.com.br/search?q=Can’t+connect+to+X11+window

[]s
Luca

M

luca eu executei aquele comando que vc me envoiu e continua dando erro, que porcaria viu!!

olha o que eu fiz e que aconteceu

java Demos -Djava.awt.headless=true
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'term' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:5
4)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:115)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi
ronment.java:53)
        at java.awt.Window.<init>(Window.java:183)
        at java.awt.Frame.<init>(Frame.java:310)
        at java.awt.Frame.<init>(Frame.java:289)
        at javax.swing.JFrame.<init>(JFrame.java:167)
        at Demos.<init>(Demos.java:15)
        at Demos.main(Demos.java:34)
#

vou ver se acho alguma coisa a mais nesses link ok!!

Luca

Olá

Uma pequena correção na sua linha de comando:

java -Djava.awt.headless=true Demos

[]s
Luca

M

Bom dia,

Estou tentando rodar aquelas alterações de ontem e não deu certo!!

olha o erro:

# DISPLAY=term
# export DISPLAY
# java -Djava.awt.headless=true Demos
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using 'term' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:5
4)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:115)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi
ronment.java:53)
        at java.awt.Window.<init>(Window.java:183)
        at java.awt.Frame.<init>(Frame.java:310)
        at java.awt.Frame.<init>(Frame.java:289)
        at javax.swing.JFrame.<init>(JFrame.java:167)
        at Demos.<init>(Demos.java:15)
        at Demos.main(Demos.java:34)
#

não sei mais o que fazer!

Luca

Olá

O X está instalado?

[]s
Luca

M

Bom dia Luca!!

posso saber o que seria esse "X".. desculpe a ignorância!!
Luca

Olá

O X é um servidor gráfico. Veja mais informações com seu adm. de rede. Na sua máquina vc consegue abrir o gnome, kde ou qualquer outro ambiente gráfico? A sua aplicação usa swing?

Desculpe nao poder ajuda-lo mas no momento estou com um problema q nem consigo raciocinar.

[]s
Luca

M

vai na fé irmão!! conversei com o adm do linux e ele disse que esta executando normalmente o KDE! ele ate me mostrou funcionando. Agora eu fiquei curioso com uma coisa, esse programa que estou tentando executar no unix, roda normalmente no windows e detalhe não existe nenhum import nele. Agora eu fiz alguns testes com um outros programas e a mensagem mudou e detalhe os dois programas que fiz o teste existe import dentro deles, será que isso tem alguma coisa a ver??
Bom peguei o codigo que estava com problemas e importei tambem as mesmas bibliotecas e infelizmente deu o erro novamente… olha a descrição do erro dos dois programas em que eu eu fiz o teste com o import

Frame1

# java -Djava.awt.headless=true Frame1
Exception in thread "main" java.lang.NoSuchMethodError: main

Exemplo0901

# java -Djava.awt.headless=true Exemplo0901
Exception in thread "main" java.lang.NoClassDefFoundError: Exemplo0901

esses foram os erros!!

kuchma

Esses sao erros mais simples - classe nao-encontrada, etc.

Voce esta tentando rodar um programa grafico, certo? Voce esta rodando numa janela console fora do ambiente grafico ou dentro do ambiente grafico? Se for fora, ja tentou roda-lo dentro do KDE, p.ex.? Teu admin mostrou o KDE rodando, certo? Entao, abra um terminal dentro desse KDE e faca o mesmo que voce esta fazendo… veja se vai.

Esse esquema que o Luca mostrou eh pra utilizar recursos do AWT fora de um ambiente grafico, como manipulacao de imagens, p.ex. Nao sei o que acontece se o programa utilizar algum recurso que exija ambiente grafico (um programa com janelas, etc). Considerando que o nome da tua classe eh Frame, pode ser essa sua situacao.

No Windows funciona porque voce ja esta “dentro do window manager”, digamos assim - seria o mesmo que rodar dentro do KDE, como comentei acima.

Marcio Kuchma

M

Obrigado pela informação,

Em termos aleluia eu consegui funcionar o codigo, mas detalhe funcionou no konsole do KDE, ou seja eu estava tentando rodar o meu programa fora do KDE, a consequencia disso foi um erro enorme!!, pois eu acho que o java tentanva executar a imagem, mas não tinhas os recursos graficos do KDE. Um dos programas funcionou, agora os outros não estão funcionando. Vou verificar agora, para ver o que esta faltando. Percebi tambem que o codigo só funciona logado como root, com o meu login não esta funcioando!!

obrigado

Luca

Olá

Então está explicado! Veja as permissões que você tem para executar o X (tente com seu usuário fazer startx). Entenda-se com seu adm. de rede.

Outra coisa as vezes você está confundindo Linux com Unix que não são a mesma coisa.

[]s
Luca

M

Ola Luca,

quando eu executo startx no meu united linux aparece isso

para root

# startx


Fatal server error:
Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.


When reporting a problem related to a server crash, please send
the full server output, not just the last messages.
Please report problems to [email removido].

Hangup

para usuario marcio

# startx


Fatal server error:
Server is already active for display 0
        If this server is no longer running, remove /tmp/.X0-lock
        and start again.


When reporting a problem related to a server crash, please send
the full server output, not just the last messages.
Please report problems to [email removido].

Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
giving up.
/usr/X11R6/bin/xinit4:  unable to connect to X server
/usr/X11R6/bin/xinit4:  No such process (errno 3):  Server error.

Justamente é o usuario marcio que não esta executando os programas

keller

olha pela mensagem de erro do root parece que o seu X já está on entao é só pressionar CTRL+ALT+F7

valeu ? espero ter ajudado… :wink:

Criado 25 de novembro de 2004
Ultima resposta 26 de nov. de 2004
Respostas 17
Participantes 4