Mostrando postagens com marcador java. Mostrar todas as postagens
Mostrando postagens com marcador java. Mostrar todas as postagens

quarta-feira, 2 de maio de 2012

Adicionar atalho do Eclipse ao dash do Unity (Ubuntu 12.04)

EDIÇÃO: Usem o Alacarte, aplicação que permite editar todos os itens de menu, bem como adicionar e remover também:
$ sudo apt-get install alacarte


Link original: Creating a Shortcut to Eclipse on the Ubuntu Unity Dock
Se você usa Eclipse no Ubuntu, você provavelmente percebeu que na versão dos repositórios do 12.04 Precise Pangolin não possui todos os plugins que a gente está acostumado a usar fora que a versão dos repositórios normalmente não é a mais atual, então a gente acaba baixando do eclipse.org mesmo.

Nesse caso, você pode criar um atalho para o Eclipse usando o gnome-desktop-item-edit e habilitando o Eclipse para que seja adicionado ao dash (painel lateral) do Unity. O gnome-desktop-item-edit não vem instalado por padrão, mas você instala ele rodando o seguinte comando:
$ sudo apt-get install gnome-panel
Depois de instalar, você pode criar um novo lançador executando o comando abaixo:
$ gnome-desktop-item-edit --create-new ~/.local/share/applications
A janela a seguir vai ser apresentada:
Você deve colocar todas as informações relevantes (Name, Command e clique no ícone do lado esquerdo para escolher o ícone do Eclipse) e clique em Ok. Isso vai fazer com que seja criado um lançador do Eclipse no Unity. Apertando então a tecla super você pode digitar Eclipse e arrastar o ícone que apareceu para o dash e criar um atalho rápido e bonito pro Eclipse.



Dica: crie um shell script no seu Desktop que abra o eclipse com ./eclipse, na hora que for preencher o campo "Command" do gnome-desktop-item-edit mande abrir o shell script que você criou, também preencha o campo "Name" com 'eclipse'. Isso vai fazer ele ficar com que ele pegue o ícone correto e vai deixar sua janela aberta no dash, caso contrário sempre que você clicar ele vai tentar abrir um novo eclipse e você só vai conseguir abrir a janela do eclipse pressionando Ctrl+W.

quarta-feira, 4 de abril de 2012

Montando ambiente de desenvolvimento Java com Eclipse + Subclipse + JBoss + Postgres no Ubuntu 12.04

Bom dia, com a chegada do Ubuntu 12.04 LTS no mercado eu já estou preparando minha máquina para uma instalação limpa do sistema. Tenho um Core 2 Duo que já mostra os primeiros sinais de velhice então nos meus planos, será a última instalação que eu farei na máquina principalmente considerando que a 12.04 terá 5 anos de suporte da Canonical.

Para preparar minha máquina para receber a nova versão eu resolvi criar este manual para montar um ambiente de desenvolvimento java usando as ferramentas do título, Eclipse, Subclipse, jBoss e Postgres. Como eu apanhei com alguns detalhes eu achei que seria importante postar as informações.
Ubuntu - 12.04 x86 (32bits)
Eclipse - Indigo
Subclipse - 1.6.x
JBoss - 4.2
Postgres - 9.1
Java - 1.6
O jBoss é antigo porque é com ele que trabalhamos na empresa.
Enquanto escrevo o post a versão final do Ubuntu 12.04 ainda não foi lançada, os passos aqui descritos foram testados na versão Beta 2.

DOWNLOAD
Após instalar o Ubuntu (acho que a instalação é muito intuitiva e não tenho como objetivo abordar essa instalação) 1- entre em http://www.eclipse.org/downloads e faça o download da Eclipse IDE for Java EE Developers, as opções que ele vai apresentar já serão referentes ao SO que você está acessando. 2- Depois entre em http://www.jboss.org/jbossas/downloads e faça o download do JBoss 4.2.3 (provavelmente você pode baixar um mais recente, estou falando desse porque é o que eu estou acostumado a trabalhar). 3- Entre em http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html, clique em "Accept License Agreement" e depois faça o download da JDK referente a Linux x86 (32bits), o arquivo é "jdk-6u31-linux-i586.bin". 4- Agora abra o terminal (Ctrl+Alt+T) e digite $sudo apt-get install postgresql, ele vai pedir sua senha e instalar o Postgres na sequência. E para ajudar na manutenção do banco instale o pgAdmin digitando o comando $sudo apt-get install pgadmin3 também no terminal.


DESCOMPACTAR
Tendo baixado tudo entre na pasta de Downloads, 1- clique com o botão direito em cima do eclipse compactado e clique em "Extrair aqui" (você pode fazer via terminal se quiser), 2- também clique com o botão direito em cima do jboss compactado e clique em "Extrair aqui". 3- Abra o terminal, entre na pasta Downloads ($cd ~Downloads/) dê permissão de execução para o jdk que você baixou ($sudo chmod +x jdkQueEuBaixei.bin) e depois execute-o ($./jdkQueEuBaixei.bin), confirme tudo e ele vai gerar uma pasta da jdk na pasta ~Downloads/.


VARIÁVEL JAVA_HOME
Por algum motivo que eu ainda não sei (se souberem comentem), ao executar o binário da jdk este não define a variável de ambiente JAVA_HOME, então se você for tentar executar o eclipse ele vai dar problema. Para definir esta variável abra o terminal e digite $sudo gedit /etc/profile. Um arquivo será aberto com algumas informações que você não deve alterar, vá até o final dele e adicione as seguintes linhas:
JAVA_HOME=/home/seuusuario/Downloads/jdkQueEuBaixei
PATH=$PATH:$JAVA_HOME/bin export PATH
Salve e feche este arquivo. Reinicie o computador (não sei como fazer para o sistema recarregar as variáveis de ambiente sem reiniciar, se alguém souber comente). Quando o computador reiniciar, abra a pasta do eclipse (~Downloads/eclipse) e clique duas vezes sobre o executável do eclipse, o programa deverá abrir com alegria.

INSTALANDO SUBCLIPSE
Agora com o eclipse aberto vamos instalar o Subclipse. Clique no menu Help>Install New Software..., em seguida clique em add, na janela que abrir você vai colocar o Name que quiser (pode ser Subclipse 1.6) e no campo Location coloque http://subclipse.tigris.org/update_1.6.x clique em Ok e selecione a nova fonte que você acabou de adicionar. Ele vai te mostrar 3 opções na parte de baixo, marque a terceira e siga o padrão Next>Finish. Em algum momento durante o download e instalação do plugin uma mensagem de warning vai aparecer, marque Ok nessa mensagem e ele completará a instalação com sucesso. 
 
Completada a instalação do subclipse reinicie o eclipse. Provavelmente um erro de JavaHL será apresentado, aqui comigo o erro era o seguinte: no libsvnjavahl-1 in java.library.path no svnjavahl-1 in java.library.path no svnjavahl in java.library.path. Para resolver o problema 1- Feche o eclipse e abra o terminal, 2- Digite $sudo apt-get install libsvn-java 3- Entre na pasta do eclipse (~Downloads/eclipse) abra o arquivo eclipse.ini e adicione o parâmetro -Djava.library.path=/usr/lib/i386-linux-gnu/jni/ antes de -Dosgi.requiredJavaVersion=1.5, depois da alteração meu eclipse.ini ficou assim:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Djava.library.path=/usr/lib/i386-linux-gnu/jni/
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m 
Para mais informações sobre o que você acabou de fazer dê uma olhada no tópico "Linux" do seguinte endereço: http://subclipse.tigris.org/wiki/JavaHL
O caminho "/usr/lib/i386-linux-gnu/jni/" eu encontrei abrindo o terminal e digitando $sudo updatedb e $locate javahl depois de completar o passo 2.


FINALMENTE
Agora entre no Eclipse, vá até a aba "Servers", clique com o botão direito>New>Server. Na lista de tipos de arquivo selecione JBoss, escolha a versão 4.2 clique em Next e na janela seguinte clique no botão Browse apontando para a pasta do jboss que foi descompactada, no campo JRE tire da opção Default JRE e coloque na jdk que você instalou. Clique em Finish e seu ambiente está pronto. Caso tenha faltado alguma coisa comentem que eu dou um update no post.

sexta-feira, 9 de setembro de 2011

no JavaxUsb in java.library.path


javax.usb.UsbException: Error while loading shared library libJavaxUsb.so : no JavaxUsb in java.library.path
at com.ibm.jusb.os.linux.JavaxUsb.loadLibrary(JavaxUsb.java:35)
at com.ibm.jusb.os.linux.LinuxUsbServices.<init>(LinuxUsbServices.java:30)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
at teste.TraverseUSB.main(TraverseUSB.java:18)

O erro que eu mencionei no final do post passado é esse aqui em cima, e o link que me ajudou a desvendar o problema foi esse.

A variável LD_LIBRARY_PATH contém uma lista de diretórios separados
por ";" onde o sistema irá procurar por determinada biblioteca de
carregamento dinâmico. Em Linux, essas bibliotecas são arquivos com
extensão ".so". São os equivalentes aos arquivos ".dll" do ruindows.
Essa variável funciona de forma semelhante ao PATH que serve pra
encontrar arquivos executáveis.
Na verdade, quando um programa precisa, digamos, de uma libGL.so (para
o OpenGL), o sistema procura esse arquivo nos diretórios listados na
LD_LIBRARY_PATH, depois no arquivo /etc/ld.so.cache e por último nos
diretórios /usr/lib e /lib.
Baseado nessas informações e na mensagem de erro, mandei localizar o arquivo libJavaxUsb.so, que foi encontrado dentro de javax-usb-ri-linux/lib. Fiz uma cópia deste arquivo pra dentro da pasta /usr/lib para que o sistema pudesse encontrar a biblioteca, resolvendo o problema.

Properties file javax.usb.properties not found.

javax.usb.UsbException: Properties file javax.usb.properties not found.
at javax.usb.UsbHostManager.setupProperties(Unknown Source)
at javax.usb.UsbHostManager.getProperties(Unknown Source)
at javax.usb.UsbHostManager.createUsbServices(Unknown Source)
at javax.usb.UsbHostManager.getUsbServices(Unknown Source)
at teste.TraverseUSB.main(TraverseUSB.java:18)

Depois de compilar a api na continuação dos meus estudos estou seguindo o manual da JSR80 no site da IBM. Ainda estou enfrentando alguns problemas com o primeiro exercício, e o primeiro erro que deu foi esse que eu descrevi acima, ele procura por um arquivo javax.usb.properties mas não o encontra. 

Para resolver este problema eu mandei localizar o arquivo javax.usb.properties nas pastas que eu havia descompactado enquanto compilava e o encontrei, caso você não encontre o seu e queira testar com o meu (não acho que seja uma boa ideia), pode baixá-lo aqui. Uma vez encontrado você só deverá colocá-lo dentro da sua pasta src:
Tendo feito isso, o erro descrito acima deverá parar. Ainda estou enfrentando um outro problema depois que este é resolvido, assim que conseguir resolver eu posto aqui.

quinta-feira, 8 de setembro de 2011

Como compilar JSR80

Tenho tido vários problemas com a API JSR80 que serve para acessar e manipular dispositivos USB através do Java. Já postei em alguns lugares as minhas dificuldades de uso do API mas por enquanto não tive resposta.
Estou usando Ubuntu 11.04 e meu primeiro problema com o uso da API foi encontrar os arquivos para baixar, depois precisei compilar os arquivos que eu baixei aqui. Depois de baixar e descompactar os arquivos 
javax-usb_1.0.2.zip  
javax-usb-ri_1.0.2.zip 
javax-usb-ri-linux_1.0.2.zip 
você deverá abrir o terminal e instalar o "ant", eu não o conheço bem mas parece ser um compilador de arquivos jar. Instale o ant através de:
sudo apt-get update
sudo apt-get install ant
Depois ainda no terminal entre na pasta que você descompactou o javax-usb_1.0.2.zip (cd /home/usuario/Downloads/javax-usb_1.0.2 por exemplo) e digite:
ant jars
com isso ele deverá gerar um arquivo de nome jsr80.jar dentro de javax-usb_1.0.2/lib e você já terá o seu primeiro jar. Para o segundo você vai fazer a mesma coisa, descompacte o javax-usb-ri_1.0.2.zip entre na pasta dele e na hora de compilá-lo você deverá referenciar o jsr80 que você compilou anteriormente, então supondo que você colocou ele na sua /home/usuario o comando ficará assim:
ant jars -lib /home/usuario/jsr80.jar
Ao fazer isso o ant lê o jsr80.jar para a compilação do seu jsr80_ri.jar que também é gerado dentro de javax-usb-ri_1.0.2/lib. Agora para compilar o terceiro você irá descompactá-lo em alguma pasta como fez com os anteriores, entrar nesta pasta através do terminal e executar o comando referenciando os dois jars que você já compilou:
ant jars -lib /home/usuario/jsr80.jar -lib /home/usuario/jsr80_ri.jar
Quando fizer isto ele já vai da mesma forma como os outros o arquivo jsr80_linux.jar dentro da pasta lib. Prontinho, agora você tem seus 3 jars compilados. Eu não consegui fazer nada além disso, mas acho que é um primeiro passo importante que eu não tinha encontrado em blog nenhum, se algum dos comandos não funcionar, ou tiverem problemas com download perguntem nos comentários que tentamos resolver juntos, eu ainda sou um aprendiz de dev.