Pessoal,

Para quem prefere usar o bom e velho emacs ao invés de IDEs gráficas, uma boa pedida é o JDEE (Java Development Environment for Emacs - http://jdee.sunsite.dk/). Esse pacote permite, entre outras coisas:

- compilar, executar e debugar classes/projetos
- identar e colorir automaticamente o código-fonte
- navegar por entre as classes do projeto
- gerar javadoc para as classes
- etc...

Embora o JDEE seja uma ferramenta poderosa, a sua configuração não é trivial, pois ela depende de outros pacotes java. Os seguintes pacotes precisam ser instalados:

* speedbar - navegador de classes e/ou arquivos
* semantic bovinator - programa que faz o parsing dos buffers
* eieio - ferramenta usada internamente para manipulação dos objetos usadas pela IDE
* elib - biblioteca Emacs Lisp usada pelo JDEE

Para instalar os pacotes (em um sistema UNIX - para DOS/Windows o processo é um pouco mais complicado, embora o site do JDEE tenha instruções detalhadas sobre o mesmo. Se houver interesse, eu posso enviar outra dica com mais detalhes), siga os seguintes passos:

- baixe os arquivos. Os endereços atuais são:

http://jdee.sunsite.dk/jde-latest.tar.gz
http://jdee.sunsite.dk/elib-1.0.tar.gz
http://telia.dl.sourceforge.net/sourceforge/cedet/eieio-0.17.tar.gz
http://telia.dl.sourceforge.net/sourceforge/cedet/semantic-1.4.tar.gz
http://telia.dl.sourceforge.net/sourceforge/cedet/speedbar-0.14beta4.tar.gz

- extraia os arquivos em um diretório de bibliotecas do emacs (por exemplo, ${HOME}/lib/emacs) e crie links simbólicos para os mesmos. Por exemplo:

cd ~/lib/emacs

tar xvzf semantic-1.4.tar.gz
tar xvzf eieio-0.17.tar.gz
tar xvzf speedbar-0.14beta4.tar.gz
tar xvzf jde-latest.tar.gz
tar xvzf elib-1.0.tar.gz


ln -s semantic-1.4 semantic
ln -s eieio-0.17 eieio
ln -s speedbar-0.14beta4 speedbar
ln -s jde-2.2.9 jde
ln -s elib-1.0 elib

- adicionalmente, compile os pacotes. Os pacotes emacs são programados na linguagem Emacs Lisp, e podem ser tanto interpretados (.el) ou compilados (.elc). Compilando-se os arquivos, obtém-se uma melhor performance (principalmente quando o emacs carrega os mesmos):

cd ~/lib/emacs
(cd elib && make)
(cd eieio && make)
(cd semantic && make)
(cd speedbar && make)
(cd jde/lisp && make)

- adicione os novos diretórios no path de bibliotecas do emacs, acrescentando as seguintes linhas no .emacs:

(add-to-list 'load-path (expand-file-name "~/lib/emacs/jde/lisp"))
(add-to-list 'load-path (expand-file-name "~/lib/emacs/semantic"))
(add-to-list 'load-path (expand-file-name "~/lib/emacs/speedbar"))
(add-to-list 'load-path (expand-file-name "~/lib/emacs/elib"))
(add-to-list 'load-path (expand-file-name "~/lib/emacs/eieio"))
(require 'jde)

OBS: note que o (require 'jde) fará com que o JDE seja carregado automaticamente toda vez que o emacs é iniciado, o que provoca um overhead desnecessário caso você não vá editar um arquivo java na sessão corrente. Assim sendo, uma vez que o JDE esteja funcionando corretamente, troque aquela linha por:

; If you want Emacs to defer loading the JDE until you open a
;; Java file, edit the following line
(setq defer-loading-jde t)
;; to read:
;;
;; (setq defer-loading-jde t)
;;

(if defer-loading-jde
(progn
(autoload 'jde-mode "jde" "JDE mode." t)
(setq auto-mode-alist
(append
'(("\\.java\\'" . jde-mode))
auto-mode-alist)))
(require 'jde))



- inicie o emacs e abra um arquivo .java. Se tudo correu bem, esse arquivo será aberto no mode JDE (note que embora o software hoje chame-se JDEE, algumas nomenclaturas ainda usam o nome antigo, JDE)



Uma vez no modo JDE, é possível realizar várias tarefas relacionadas a Java. Por exemplo:

- compilar o arquivo, através das teclas C-c C-v C-c
- executar a classe no JVM, através das teclas C-c C-v C-r
- debugar a classe no JVM, através das teclas C-c C-v C-d
- executar o interpretador java (Bean Shell), através das teclas C-c C-v C-k
- abrir uma nova janela com o navegador (Speedbar), através das teclas C-c C-v C-s

Todas essas funções (e muitas outras) podem ser acessadas através do menu do JDE (embora valha a pena notar que todas elas começam com C-c C-v, o que facilita a memorização).

Também é possível alterar várias customizações do pacote, através do menu "JDE => Project => Options (ou através do comando M-x-customize-group jde). Em particular, o JDEE suporta nativamente 3 tipos de compiladores (javac, jikes e interepretador - nesse caso, a primeira invocação demora um pouco, mas todas as demais são bem rápidas) e 3 tipos de debuggers (o jdb atual, o antigo e o JDEbug, baseado na arquitetura JPDA, embora esse último ainda não esteja muito maduro).


Finalmente, vale a pena salientar o uso do interpretador Bean Shell. Esse é um software bastante interessante, que até merece uma dica só sobre ele :). Trata-se de um shell para a linguagem java, onde você pode digitar declarações java que são interpretadas imediatamente (o que é bastante útil para testes). Por exemplo:


BeanShell 1.1a16 - by Pat Niemeyer ([EMAIL PROTECTED])
bsh % String s = "Hello World";
bsh % System.out.println( s.toUpperCase() );
HELLO WORLD
bsh %


Bom, o básico é isso. Agora é mãos na massa e C-v C-c neles :)


Felipe


================================================================================
[dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e é
mais um serviço da Sociedade de Usuários Java - http://www.soujava.org.br
*** SouJava - Fortalecendo a Comunidade Java Brasileira! ***
- Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED]
- Participe de outras listas de discussão sobre a linguagem Java.
Saiba mais em http://www.soujava.org.br/lista.htm
--------------------------------------------------------------------------------
- Para assinar este boletim: mailto:dicas-list-subscribe@;soujava.org.br
- Para cancelar sua assinatura: mailto:dicas-list-unsubscribe@;soujava.org.br
- Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br
- Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)


Responder a