dfdfdfgdfd

sexta-feira, 7 de dezembro de 2012

Resolver erro NotSerializableException ao executar Testes com Arquillian


Ao executar teste de integração com Arqquilian  algumas vezes obtive o seguinte erro"... Caused by: java.io.NotSerializableException: java.util.zip.ZipFile$1...".

Embora pareça estranho, em todos os casos o problema estava em algum  arquivo do "datasets". Seja erro de encoding ou má formatação do .json ou .xml.

Fica a dica. Valeu!

sexta-feira, 17 de agosto de 2012

Erro Maven: Invalid LOC header (bad signature)

Quando o maven apresenta o erro "invalid loc header (bad signature)" ao tentar compilar o projeto, pode ser que o diretório dos jar com problema esteja corrompido. Recomendo apagar o diretório e baixar novamente dependência através de comandos do Maven. Veja exemplo a seguir:

COMPILE ERRO:

../repository/org/codehaus/jackson/jackson-mapper-asl/1.0.1/jackson-mapper-asl-1.0.1.jar 
: Invalid LOC header (bad signature)

Solução:

$ rm -fr repository/org/codehaus/jackson/jackson-mapper-asl/
$ cd maven-project
$ mvn clean install

quarta-feira, 8 de agosto de 2012

Adicionar usuário ao sudo - Fedora

Para adicionar usuário é preciso editar o arquivo /etc/suders e adicionar
as linha "<seu usuário>    ALL=(ALL)    ALL" loga abaixo da linha  "root    ALL=(ALL)    ALL".

Exemplo:
$ su
$ vi /etc/suders
/etc/suders
Trecho do arquivo /etc/suders











# O comando para sair e salvar do vi é ":wq!"
# Obs.: Respeitar tabulação entre nome do usuário e permissões.





quinta-feira, 5 de julho de 2012

Adicionado JAR ao deploy do Arquillian

Arquillian é um framework que torna facil a construção de testes de integração com aplicações Java EE.
A execução dos testes se baseia em montar deploymentes com as dependências especificas de cada teste.
o trecho de código a seguir mostra como adicionar libs não disponíveis no container Jboss 7, quando da execução dos testes.

import org.jboss.shrinkwrap.resolver.api.DependencyResolvers;
import org.jboss.shrinkwrap.resolver.api.maven.MavenDependencyResolver;


MavenDependencyResolver resolver = DependencyResolvers.use(
MavenDependencyResolver.class).loadMetadataFromPom("pom.xml");

Estas classes são da API Shrink Wrap que neste caso ira manipular as propriedades do maven
para identificar os JARs.

Abaixo segue exemplo completo de utilização, o trecho "resolver.artifact("org.apache.commons:commons-lang3:3.0.1").resolveAsFiles()" é o responsavel por buscar os arquivos.


@Deployment
public static Archive<?> createDeployment() {
        //classes de shrinkwrap
MavenDependencyResolver resolver = DependencyResolvers.use(
  MavenDependencyResolver.class).loadMetadataFromPom("pom.xml");
         return ShrinkWrap
.create(WebArchive.class, "test.war")
.addAsLibraries(
resolver.artifact("org.apache.commons:commonslang3:3.0.1").resolveAsFiles())
.addPackages(true, Dao.class.getPackage(), Driver.class.getPackage())
.addAsResource("META-INF/test-persistence.xml",
"META-INF/persistence.xml").addAsResource("import.sql")
.addAsWebInfResource("test-ds.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}

}

domingo, 1 de abril de 2012

Instalar psycopg no Fedora 17


Abaixo segue simples passos para instalação do psycopg  no Fedora 17.

O psycopg é um driver Python para PostgreSQL muito popular que implementa  a Python Database API Specification v2.0 alem de ser compatível com Django.

1. Download do source em http://initd.org/psycopg/download/
2. $ tar -zxvf psycopg2-2.5.3.tar.gz
3. $ python setupe.py install

Pronto, este é o caminho feliz! Mas sempre tem o proem, então segue abaixo lista de erros e soluções que podem acontecer durante a instalação em distribuições linux derivadas do Red Hat.

Erro 1: "Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config /path/to/pg_config build ... or with the pg_config option in 'setup.cfg'."

Solução: Altere o arquivo de configurações setup.cfg apontando para sua instalação do PostgreSql, conforme exemplo a seguir:

Atual versão 2.5.3
  • pg_config=/opt/PostgreSQL/9.2/bin/pg_config
  • mx_include_dirs=/opt/PostgreSQL/9.2/include/postgresql:/opt/PostgreSQL/9.2/include/postgresql/server
Versão antiga  2.4.5
  • include_dirs=/opt/PostgreSQL/9.2/include/postgresql:/opt/PostgreSQL/9.2/include/postgresql/server 
  • library_dirs=/usr/lib64
  • libraries=/usr/lib
Erro 2: "fatal error: Python.h: No such file or directory"

Solução: $ yum install pyhon-devel

Erro 3: Os erros anteriores podem acontecer na instalação executando o comando "python setupe.py install", mas quando for preciso usar a lib pode aparecer o seguinte erro "ImportError: libpq.so.5: cannot open shared object file: No such file or directory"

Solução:  $ yum install postgresql-libs

Vlw!

sábado, 24 de março de 2012

WELD-001408 Unsatisfied dependency

Um dos motivos para o erro "WELD-001408 Unsatisfied dependency" é que a classe que você esta tentando injetar não encontra suas dependências, então o JBossAS 7 pode mascarar este erro com o WELD-001408, veja exemplo:

public class Equipe1{
    import org.apache.commons.lang3.StringUtils
}

public class Fabrica{
    @Inject private Equipe1 equipe1;
}

Se ao publicar sua aplicação e a classe "org.apache.commons.lang3.StringUtils" não estiver no classpath, sempre será lançado o erro "WELD-001408" ao tentar injetar Fabrica.equipe1. Para solucionar é preciso adicionar as dependências necessárias no war, ear ou no próprio servidor de aplicação

quarta-feira, 15 de fevereiro de 2012

Usando javac

Compilar classes com javac adicionando mais de um jar ao classspath:

javac -classpath lib/app1.jar:lib/app2.jar /projeto/src/Main.java -d /projeto/classes

Atenção: No Liniux o separador  é ":" e no windows é ";"

Fonte:
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/javac.html