1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Java & Mac

Discussão em 'Apple Geral' iniciada por ric07, 25 de Março de 2007. (Respostas: 18; Visualizações: 1669)

  1. ric07

    ric07 Power Member

    Bem, antes de me começar a chatear...feito mula a olhar para um Mac, venho aqui tentar pedir a vossa ajuda.

    Desde que comprei o mac, que ainda nao tinha começado a trabalhar em java nele. Pois é, comecei hoje, ou tentei...

    Instalei o NetBeans, e la fui eu tentar "importar" um projecto meu...acabei por desistir, nem vale a pena falar do assunto...de certeza que é uma questao de ver com mais calma...e nao importar directamente atraves de um ficheiro Ant.

    ...entao la fui eu para a maneira mais basica de todas...fui para o terminal tirar o pó aos comandos javac e java e tal.

    Compilei a primeira classe que nao precisava de mais nenhuma outra e tudo ok.

    Vou a compilar uma segunda classe que ja depende da anterior...e ele queixa-se que a outra classe nao existe.

    Ora pensei eu...deve ser por causa da CLASSPATH mal definida. Logo aqui, nao faço ideia como se muda a CLASSPATH...so windows sei como é....no linux fazia la uns export e tal...no mac ja tentei os export e ainda nao obtive soluçao.

    Bem, entao fui para a outra forma basica... javac -cp...ou seja, indicar directamente qual a classpath.
    Resultado? Continua a dizer que a outra classe nao existe.

    Sinceramente nao entendo.


    Alguem que trabalhe em java no mac que me possa dar umas luzes? Havera algo que seja diferente que eu tenha de saber?



    Obrigado
     
    Última edição: 25 de Março de 2007
  2. ajax

    ajax Banido

    Instala o Xcode e procura no Google vários "tutorials" que se encontram espalhados pela web.

    e tens aqui um ponto de partida!

    http://developer.apple.com/java/
     
  3. ric07

    ric07 Power Member

    Eu ja tenho o XCode instalado, e inclusive ja andei a brincar com ele.

    Nao percebeste bem as minhas duvidas.

    A questao é que os comandos javac deveriam funcionar...e se algo nao esta a funcionar, é porque alguma coisa se passa e que obviamente eu quero aprender.

    Por exemplo...como alteramos o CLASSPATH?

    Porque é que eu ao dizer directamente qual é o classpath qundo faço a chamada ao javac, ele continua a queixar-se?
     
  4. ajax

    ajax Banido

    mete aqui um exemplo do problema e os comandos que dás. Só assim poderemos ajudar-te.
    Relativamente à tua dúvida...

    para definir a variável classpath terás que executar o comando:
    export CLASSPATH="/path/class.jar:/another/bubu.jar:."

    podes adicioná-lo ao teu ~/.profile se for sempre a mesma.

    Pq é que não usas o XCode?
     
    Última edição: 25 de Março de 2007
  5. ric07

    ric07 Power Member

    Um dos motivos de nao usar o xcode é pq n uso só o mac. E assim fica mais simples para mim usar o mesmo IDE em todos os SO. Passar todo o projecto de maquina para maquina e assim.

    Ja tinha tentado o export...mas quando tento ver se aquilo ficou bem definido, fazendo o echo, a coisa nao corre mt bem. Será que ja estou esquecido? Nao era so escrever "echo CLASSPATH"?
    É que o que acontece é que ele faz integralmente o que a palavra echo significa :P ecoa-me a palavra CLASSPATH.

    Mas bem, ja ando aqui a trabalhar no netbeans...tive de colocar os ficheiros todos à mao...estava a ter chatices porque ja tinha o ficheiro ANT e entao importava todo o projecto com ele. Mas depois dava-me aqui uns problemas.
     
  6. Fork

    Fork What is folding?

    nao sera echo $CLASSPATH?

    As variaveis de sistema tem um $ antes
     
  7. jaac

    jaac Power Member

    Se quiseres adicionar mais coisas à classepath é tal e qual como em linux (depende da shell e não do sistema operativo)

     
  8. ric07

    ric07 Power Member

    Lá está...quem manda no mundo é o $ :P

    Ja constatei que nao tenho nada de variaveis de ambiente, classpath nao tem nada...java_home nao existe...etc

    Agora surgiu-me outra duvida...se estas variaveis todas nao existem, ou pelo menos nao aparentam existir...como é que os comandos "java" "javac" funcionam?

    Tambem nao tenho nenhum ficheiro .profile (verifiquei os ficheiros invisiveis). Entao cada vez que faço login, ele faz a leitura do ficheiro .profile se existir? Ou sera que é outro ficheiro?
    Nao era um .bashrc (que alias tb n tenho...nao tenho nada deste tipo de ficheiros)?
    Isto de nao tocar nestas coisas faz anos hehe...se bem que tb nunca percebi bem do assunto.
     
  9. jaac

    jaac Power Member

    Ele em mac vai ver o .bash_profile

    Código:
    echo $JAVA_HOME
    /System/Library/Frameworks/JavaVM.framework/Home
    Estão no /usr/bin logo são reconhecidos na shell.
     
  10. ajax

    ajax Banido

    como só uso bash ponho sempre tudo na .profile. Aliás, nas novas versões do OS X, creio que por omissão criam a .profile.
     
  11. jaac

    jaac Power Member

    A bash durante a inicialização lê (se existirem):

    '/etc/profile'
    '~/.bash_profile'
    '~/.bash_login'
    '~/.profile'

    Desde que esteja num deles, não há problema.
     
  12. ricardomcm

    ricardomcm Power Member

    Eu trabalho com Java e mac tb... tb desisti do netbeans, alem de ser lento demais, vivao os problemas!
    portanto a soluçao chama-se "Eclipse"
    até hoje, funcionou tudo correctamente...
    :)
    experimenta, n perdes nd é um IDE mto bom mesmo.
     
  13. Rui_Carlos

    Rui_Carlos 1st Folding then Sex

    o único problema do Eclipse é o desempenho...
     
  14. Conde

    Conde Power Member

    A diferença de desempenho do eclipse e netbeans é quase a mesma, pelo menos é o que eu noto.Mas na minha opiniao eclipse é melhor.
     
  15. mpLopes

    mpLopes Power Member

    o eclipse é muito melhor que o netbeans! infelizmente o eclipse não dá é para trabalhar com Swing da mesma forma que o netbeans permite..

    contudo o eclipse parece muito melhor para trabalhar.. por exemplo: quando se tem algum erro, o eclipse assiná-la-o de imediato, enquanto que o netbeans leva o seu tempo a reagir..
    são segundos, mas em grandes projectos perde-se muito tempo!
     
  16. ric07

    ric07 Power Member

    O primeiro IDE com que eu trabalhei foi o Eclipse e gostei bastante.

    Realmente noto essas falhas no Netbeans...ele demora a indicar erros e ate a retirar erros depois de corrigidos. No Eclipse era melhor.

    O motivo para agora estar a usar o Netbeans foi o facto de ter experimentado o "utilitario" para a "constuçao" de interfaces...antes fazia o codigo todo a mao e primeiro que o resultado fosse o que eu queria, vai la vai...dai que experimentei e gostei bastante. Confesso que nao sei se o Eclipse tem...acho que é possivel acrescentar essa funcionalidade...mas como no Netbeans foi directo, fiquei-me por ele.
    Alem de que gosto sempre de ir experimentando e pronto...agr tou a experimentar o Netbeans.

    Outra coisa que me esta a acontecer agora no Mac foi eu ir compilar o meu codigo C onde tenho as coisas do JNI para o java e aquilo da-me logo erro a dizer que nao acha o jni.h. Estranho, porque ele existe no sistema.
    Alguem me poderia dar umas luzes?

    Obrigado mais uma vez.
     
  17. a MACacada

    a MACacada Power Member

    O "utilitário" chama-se Matisse

    Um abraço
    David
     
  18. oncemore

    oncemore Power Member

  19. ric07

    ric07 Power Member

    Bem, vou vos deixar o ponto de situaçao.
    De notar que entretanto ate instalei o Ubuntu via VMWare, e instalei no mesmo o JDK+NetBeans.

    Tanto em Mac como em Ubuntu tenho exactamente os mesmos problemas:

    - Quando tento compilar uma classe que necesita de outra, ele da-me erro, msm estando a indicar o respectivo classpath.
    (Surgiu-me agr uma ideia, nem sei pq nao me lembrei disto antes...sera pelo facto de as mesmas estarem em packages...apesar de as duas estarem no mesmo package??)
    De qualquer forma, isto nem me preocupa, pois esta td ok no Netbeans.

    - O meu codigo C que necessita do jni.h simplesmente queixa-se que nao acha o ficheiro jni.h.
    Ja verifiquei se existe no sistema...e existe. Ja configurei as variaveis de ambiente. Nao faço a minima ideia do problema e é urgente. Ainda estou para descobrir como raio tinha isto tudo a funcionar antes em Linux.


    Mas bem, o que venho deixar aqui...é os ficheiros de .profile que criei, para o caso de alguem precisar de ajuda nesse campo.
    Sinceramente a mim penso que nao me fizeram diferença nenhuma...mas nao sei...ahh...agr ja detecta o tools.jar para quando usar o Ant :P

    Linux:




    Mac:



    EDITADO:

    Fui confirmar ao desktop com windows onde tenho o Ubuntu tb pelo VMWare...e lá nem sequer tenho configuradas as variaveis de ambiente...e nao tenho o minimo problema com o JNI.

    Sinceramente nao entendo. RRR...ja começo a ferver.



    EDITADO2:

    Penso que ja descobri a falha. Em Darwin, em vez de se usar jni.h, tera de se usar JavaVM/jni.h, ficara entao algo do genero:

    # include <JavaVM/jni.h>

    Compila sem erros...agr se tudo o resto funciona igual...ainda nao sei


    EDITADO3: (xii, que isto nunca mais acaba)

    No Ubuntu, para tratar do JNI, instalei as packages referentes ao gcj e ja compila sem erros.
     
    Última edição: 27 de Março de 2007

Partilhar esta Página