0

Guia de Referência Rápida para Comandos Maven

maven

O Maven possui uma vasta lista de comandos para facilitar a sua vida e a minha também imaginei: por que não criar uma página de referência com os principais comandos existentes? Assim podemos acessá-la sempre que for necessário para lembrar de alguns comandos até que todos estejam “decorados”.
Espero que seja útil e que estejam todos funcionando em seus computadores.

Para compilar

mvn compile

Para compilar off-line

mvn –o compile

Para criar os pacotes

mvn package

Instalar o pacote nos respectivos repositórios

mvn install

Limpar a pasta target

mvn clean

Gerar um projeto eclipse(normalmente prefiro recriar)

mvn eclipse:clean eclipse:eclipse

Gerar um projeto eclipse baixando os códigos-fonte das dependências

mvn eclipse:clean eclipse:eclipse –DdownloadSources=true

Gerar um projeto eclipse baixando os códigos-fonte assim como o javadoc das dependências

mvn eclipse:clean eclipse:eclipse –DdownloadSources=true –DdownloadJavadocs=true

Executar os testes unitários

mvn test

Executar os testes unitários apenas informando no console os resultados dos testes

mvn -Dsurefire.useFile=false test

Executar um teste específico

mvn test –Dtest=br.com.maven3.tutorial.tests.suaClasseDeTestes

Ignorar os testes ao gerar um pacote

mvn package -Dmaven.test.skip=true

Ignorar os testes ao instalar um pacote

mvn install -Dmaven.test.skip=true

Gerar um projeto web baseado em um template(Leia mais sobre templates em Dicas para usar templates de projetos pré-configurados no Maven – Maven Archetypes)

mvn archetype:create -DgroupId=br.com.projeto.exemplo -DartifactId=projeto-web -DarchetypeArtifactId=maven-archetype-webapp

Gerar site de documentação para o projeto

mvn site

Gerar Javadoc

mvn javadoc:javadoc

Para ver qual é o pom.xml que o Maven entende(veja o link Qual é a estrutura padrão de diretórios e arquivos no Maven?)

mvn help:effective-pom

Como executar um profile

mvn –P profile1

Como executar 2 profiles

mvn –P profile1 –P profile2

Como ignorar um profile e executar outro profile

mvn –P !profile1 –P profile2

Como recriar um projeto web aberto na pasta target

mvn clean package war:exploded

Como executar o Sonar(Aprenda mais sobre o Sonar em Aprenda como melhorar a qualidade do código usando o Sonar)

mvn sonar:sonar

Exibir todas as dependências e dependências transitivas, ajudando a identificar conflitos;

mvn dependency:tree

Exibir todas as dependências transitivas para um pacote, ajudando a identificar conflitos;

mvn -X <nome_pacote>

Fazer download dos códigos fontes independentes de IDE

mvn dependency:sources

0

Iniciando o Uso do Maven – Comandos Básicos

maven

Visando facilitar você que está começando a usar o Maven segue uma lista com algumas dicas muito úteis que irão ajudar o início desta longa e grande viagem sem volta!

1) A melhor forma de iniciar um projeto Maven é através de templates já prontos para uso.

2) Existe uma lista de comandos básicos no Maven. Faça alguns testes e entenda na prática como funciona cada um deles. Veja o que acontece na pasta target do seu projeto. Seguem os comandos:

  • mvn compile
  • mvn jar:jar
  • mvn test
  • mvn package
  • mvn install
  • mvn eclipse:eclipse
  • mvn package
  • mvn clean

3) Pular os testes( isto é muito importante mas… quem sabe você não precise testar no momento, não é?)

mvn <comando> -Dmaven.test.skip=true

4) Crie profiles de execução:

mvn <comando> -P desenvolvimento

O exemplo abaixo explica como usar 2 tipos diferentes de profiles: tomcat e jboss:

mvn <comando> -P tomcat

mvn <comando> -P jboss

Caso seja necessário é possível executar dois profiles de uma só vez:

mvn –P profile1 –P profile2

Agora, um exemplo para criação de um projeto web com o conteúdo aberto (war:exploded):
mvn clean package war:exploded -P tomcat

Acesse o link para mais informações sobre profiles: http://maven.apache.org/guides/introduction/introduction-to-profiles.html

5) Instale qualquer arquivo no repositório local Imagine que você precise criar um arquivo jar e este será compartilhado entre seus vários projetos. Você pode instalar qualquer jar que quiser, mesmo não sendo do projeto maven (como no exemplo abaixo):

mvn install:install-file -DgroupId=toplink -DartifactId=toplink-essentials -Dversion=2.7 -Dpackaging=jar -Dfile=toplink-essentials.jar

6) Veja como funciona os plugins disponíveis no Maven. Um bom plugin possui uma boa página de documentação.

Segue alguns que eu recomendo:

http://maven.apache.org/plugins/maven-antrun-plugin/
http://mojo.codehaus.org/build-helper-maven-plugin/
http://maven.apache.org/plugins/maven-assembly-plugin/
http://maven.apache.org/plugins/maven-eclipse-plugin/

7) Links importantes para conhecer:

http://maven.apache.org/plugins/index.html
http://maven.apache.org/run-maven/index.html
http://maven.apache.org/articles.html

0

Controle de Versão com GIT – Parte 01 – Apresentação

1200px-Git-logo.svg

Esta séries de Tutoriais exemplificam o uso da Ferramenta de Controle de Versão GIT, realizaremos a configuração, manutenção e controle dessa poderosa ferramenta de controle de alterações em códigos fontes.

Um pouco da história do GIT

O GIT é um sistema de controle de versão distribuído e um sistema de gerenciamento de código fonte, com ênfase em velocidade, essa ferramenta foi inicialmente projetada e desenvolvida por nada mais nada mesnos que Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos. Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependente de acesso a uma rede ou a um servidor central.

O Git é um software livre, distribuído sob os termos da versão 2 da GNU General Public License.

Para iniciarmos os nossos testes da ferramenta GIT iremos ao site Oficial do distribuidor realizar o Download do GIT.

Link Download: https://git-scm.com/downloads

Na Próxima Postagem Veremos a Instalação e Configurações Iniciais dessa Ferramenta.

0

Gerando Web Services PHP com NuSoap

php_mini_logoGerando Web Services PHP com NuSoap

Este artigo aborda a geração de Web Services em PHP utilizado a biblioteca NuSoap. Esta biblioteca é uma alternativa ao módulo SOAP Extension, nativo do PHP e oferecer suporte à criação automática do WSDL.

Framework NuSoap disponível em: http://sourceforge.net/projects/nusoap/

Segue um exemplo de utilização do Framework.

Lado Servidor da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 instanciamos uma objeto do tipo soap_server;
  • Na linha 6 configuramos a instância do documento WSDL de nossa aplicação servidora;
  • Na linha 8 definimos o Schema do documento WSDL;
  • Entre as linhas 10 a 36 registramos os métodos de nosso web service;
  • Na linha 38 definimo o uso do request para invocar o serviço;
  • Entre as linhas 40 a 54 implementamos os métodos de nosso web service.

Após a criação do objeto soap_server, geração do wsdl e registro e implementação dos métodos conseguimos gerar  web service.

serviço wsdl

Lado Cliente da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 criamos um objeto Soap Client baseado no wsdl do Servidor;
  • Por fim realizamos a chamadas aos métodos e exibimos o possíveis resultados.

E com isso realizamos a publicação e consumo de um web service em PHP baseado na biblioteda NuSoap.

0

Modificadores de Acesso

Java (2)Modificadores de Acesso

Os modificadores de acesso, tem como função controlar a visibilidade de classes, atributos e métodos em relação a outras classes e pacotes. Em Java temos alguns tipos de modificadores de acessos que serão exemplificados abaixo:

Modificador public

O modificador public pode ser usado na criação de uma classe, de um atributo e de um método, e possui diferentes comportamentos quando antecede alguns deles.

      • Em uma classe, significa dizer que ela poderá ser acessada e herdada por todas as outras classes dentro de uma aplicação.
      • Em um método, significa dizer que ele poderá ser acessado, reescrito e herdado por qualquer classe.
      • Em um atributo, significa dizer que poderá ser referenciado por qualquer outra classe.

Modificador private

O modificador private pode ser usado na criação de um atributo e de um método, e possui diferentes comportamentos quando antecede alguns deles.

      • Não pode ser aplicado como modificador de acesso de uma classe.
      • Em um método, significa dizer que ele poderá ser acessado pelos métodos da classe que o definiu.
      • Em um atributo, significa dizer que poderá ser referenciado somente pela classe que o definiu.

Modificador protected

O modificador protected pode ser usado na criação de um atributo e de um método, e possui diferentes comportamentos quando antecede alguns deles.

      • Não pode ser aplicado como modificador de acesso de uma classe.
      • Em um método, significa dizer que ele poderá ser acessado somente pelas classes que fazem parte do mesmo pacote.
      • Em um atributo, significa dizer que poderá ser referenciado somente pelas classes que fazem parte do mesmo pacote.

Modificador default

O modificado default define o acesso padrão que será aplicado quando não houver definição de modificador de acesso, ou seja quando esquecemos de definir o modificador de acesso a classe.

Modificador static

O modificador static pode ser usado na criação de um atributo e na definição de um método, e possui diferentes comportamentos quando antecede alguns deles. Definir um atributo ou métodos como static significa dizer que os mesmo pertencem a classe em que foram definidos. Membros estáticos podem ser acessados através de instância da classe.

Modificador final

O modificador final pode ser usado na criação de uma classe, de um atributo e de um método, e possui diferentes comportamentos quando antecede alguns deles.

      • Em uma classe, significa dizer que a classe não poderá ser estendida.
      • Em um método, significa dizer que o método não poderá ser reescrito.
      • Em um atributo, significa dizer que seu valor não poderá ser modificado.
0

Code Club Brasil

imgres

O Code Club (em português: Clube do Código ou Clube de Programação) é uma rede mundial de atividades extra-curriculares gratuitas, completamente gerenciada por voluntários, com o objetivo de ensinar programação de computadores às crianças.

2Criamos projetos para que os nossos voluntários possam ensinar programação como atividade extra-curricular em escolas, ou outros locais, como por exemplo uma biblioteca. Nossos projetos ensinam as crianças a programar através de jogos, animações e páginas internet. Os voluntários atuam em locais próximos de suas casa, uma hora por semana.

Estaremos constantemente criando novas aulas. Em cada série os alunos aprendem usando imaginação e criatividade através da realização de projetos. Os cursos 1 e 2 utilizam a ferramenta Scratch para ensinar as bases de programação de computadores. O curso 3 introduz o desenvolvimento web usando HTML e CSS. No curso 4 nós ensinaremos Python e assim por diante.

1O Code Club foi criado por Clare Sutcliffe eLinda Sandvik em Abril de 2012. Em 2013, teve-se a ideia de trazer o Code Club para o Brasil.

Nosso sonho é que cada escola do Brasil tenha um clube de programação onde as crianças possam aprender informática. Temos quase 200 mil escolas no Brasil, temos muito trabalho pela frente, mas acreditamos que isso seja possível!

Fonte: http://codeclubbrasil.org/

Visite a página Oficial.

images2

0

Menu de Navegação Redes Sociais com CSS

cssMenu de Navegação Redes Sociais com CSS

Nesta postagem segue um exemplo uma caixa de navegação de redes sociais usando CSS para adicionar as imagens das redes sociais aos links de cada rede social. O primeiro passo é a criação do bloco de navegação.

Criamos uma lista de redes sociais somente com os links. Isso ajuda pessoas com deficiência visual que fazem uso de plugin de leitura de páginas já que os mesmos não fazem a leitura da imagem. A inclusão das imagens deixamos a cargo do CSS.

Ai lá vai o estilo da navegação de redes sociais.

As estilização realizada pelo css é a seguinte: posicionamos o elemento com a classe .icones-sociais na parte inferior da página ao lado esquerdo, aos elementos “li” que estejam dentro dessa classe removemos o marcador de lista e colocamos todos em uma única linha, aos links removemos o seu texto usando o text-indent: -99999 que faz com que o mesmo não seja mostrado no DOM além de setamos a proporção da imagem e por fim adicionamos a respectivas imagens a cada classe. Ao fim teremos uma barra de navegação semelhante a barra apresentada abaixo.

social-icons

Créditos de Imagens: http://iconfinder.com