quinta-feira, 25 de fevereiro de 2010

Configurando workspace do eclipse uma vez só

Situação: Configuar workspace do eclipse para um novo projeto, ou as vezes porque tá dando pau em algum bundle acontece de mudar o workspace e tudo voltar a funcionar.
O problema é que com os vários plugins que a gente instala no eclipse, quando mudamos para outro workspace, temos que configurar tudo de novo.
Objetivo: não precisar ficar clicando em várias caixas de diálogos toda vez que temos que mudar o workspace
Solução: Abre um workspace novo e faz a configuração dos plugins, mas não inializa nenhum projeto nele. Depois de configurar, salva a pasta .workspace que guarda toda a configuração que vc fez. E, por fim, toda vez que começar um workspace, é só colocar essa pasta .metadata lá dentro e já o eclipse vai respeitar a configuração.
Cuidados: Isso é válido quando vc vai usar o mesmo eclipse com os mesmos plugins com que vc configurou sua pasta .metadata.

Alguns exeplemplos de configurações que a gente acaba tendo que faze qdo começamos num novo workspace:

1) Aptana
-> HttpServer 127.0.0.1
2) Maven
-> Installations
Servers
-> ver qual servidor...
se for jboss os cuidados aqui são:
o projeto já foi feito deploy? se já, tem uma versão dele lá na pasta deploy
iniciar o servidor pelo menos uma vez antes de trabalhar com ele
3) JbossTools
-> configuar seam
->
4) Google
-> AppEngine
-> WebToolkit

Por fim, antes de começar a trabalhar, qdo abrir o eclipse dá um ctrl-3 digita error pra ir até a view chamada Error Log e dá uma olhada se tem alguns "x" vermelhos. Tem de qual plugin o x se refere porque é um indício de que pode haver problemas em seu funcionamento.

terça-feira, 23 de fevereiro de 2010

maven - começando com weld

Referencia:
http://seamframework.org/Documentation/WeldQuickstartForMavenUsers

Infelizmente não me organizei suficiente pra por um tutorial descente,
mas quero deixar essa dica que é fundamental pra começar
com weld no manven:

Mude $M2_HOME para uma instalação apache-maven-2.0.10.

Então as instruções que encontramos na url de referencia funciona,
caso contrário nada feito.

Outra coisa. No meu caso o comando mvn archetype:generate (modo interativo)
não mostrou a opção para os archetypes weld, mas o comando não iterativo:

mvn archetype:generate -DinteractiveMode=n
-DarchetypeArtifactId=weld-jsf-servlet-minimal
-DarchetypeGroupId=org.jboss.weld.archetypes
-DarchetypeVersion=1.0.0-BETA1
-DgroupId=com.mycompany -DartifactId=myproject

depois de ir até o diretório que tem o pom, e fazer $mvn package o mvn
começou a fazer os donwloads

Mas, durante os downloads ocorreu o seguinte:
Missing:
----------
1) javax.xml.stream:stax-api:jar:1.0-2

Try downloading the file manually from the project website.

Then, install it using the command:
mvn install:install-file -DgroupId=javax.xml.stream -DartifactId=stax-api
-Dversion=1.0-2 -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=javax.xml.stream -DartifactId=stax-api
-Dversion=1.0-2 -Dpackaging=jar
-Dfile=/path/to/file -Durl=[url]
-DrepositoryId=[id]

Path to dependency:
1) com.mycompany:ipgg-georef:war:1.0.0-SNAPSHOT
2) org.hibernate:hibernate-validator:jar:4.0.0.GA
3) javax.xml.bind:jaxb-api:jar:2.1
4) javax.xml.stream:stax-api:jar:1.0-2


então, se isso acontecer, conforme o próprio maven nos mostra, faça o seguinte:
1) fazer o download do arquivo stax-api-1.0-2.jar em
https://maven-repository.dev.java.net/repository/javax.xml.stream/jars/stax-api-1.0-2.jar

2) rodar o seguinte comando
mvn install:install-file -DgroupId=javax.xml.stream -DartifactId=stax-api -Dversion=1.0-2
-Dpackaging=jar -Dfile=/path/to/stax-api-1.0-2.jar



Quando ver a msg
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 minutes 9 seconds
[INFO] Finished at: Tue Feb 23 10:39:46 BRT 2010
[INFO] Final Memory: 21M/70M
[INFO] ------------------------------------------------------------------------
é porque deu tudo certo,

mas peraí, eu tõ usando a instalação do maven 2.0.10 e na verdade o meu maven mesmo,
que eu uso, é o apache-maven-2.2.1 e também o meu repositório local não é o ~/.m2 e sim um
caminho/m2.

E eu quero continuar usando o meu 2.2.1. Bom pra resolver esse problema, eu achei melhor
adicionar
/media/ext3_269G/PROGSATIVOS/maven/m2
no M2_HOME/conf/settings.xml pra usar o meu repositório local de verdade e fazer os
downloads tudo de novo.

Achei meio perigoso, e não é boa prática, mesclar manualmente os repositórios.


Depois de tudo isso, funcionou ok.

sexta-feira, 12 de fevereiro de 2010

Removendo a senha de utilização do Eclipse (security storage)

Precisei remover aquela senha e fazer isso via configuração não dava de jeito nenhum, então descobri http://blog.yeticode.co.uk/2009/03/removing-eclipse-secure-storage-password/
onde aprendi que é só romover o diretório que fica no home do usuário

rm -rf ~/.eclipse/org.eclipse.equinox.security/

quinta-feira, 11 de fevereiro de 2010

Variáveis de Ambiente em Debian like linux

Eu costumava setar as minhas variáveis de ambiente no /etc/profile, mas aprendi que não é uma boa prática seta-las em scripts de nível de sistema, como por exemplo /etc/profile ou ~/.bash_profile dentre outros.

Resumindo a história, o mais correto é usar o /etc/enviroment

Há uma explicação completa sobre isso em

https://help.ubuntu.com/community/EnvironmentVariables

segunda-feira, 1 de fevereiro de 2010

Mysql

Achei que um programa aqui no meu trabalho estava muito mal comportado com relação ao uso das conexões com o mysql então fiz uma pesquisa no google e achei algo interessantes que anotei aqui pra mim e pra vc.

vendo quem está fazendo o que no mysql:
watch -n1 'mysql -uUSUARIO -pSENHA --exec="SHOW PROCESSLIST"'

a coluna Id representa o id do processo, se for necessário mata-lo: kill id ou kill -9 id