Paulo R. Marinho – WebCodeFree
Author: Paulo R. Marinho
Posted on 1 de setembro de 2017 by Paulo R. Marinho
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 off-line
mvn –o compile
Para criar os pacotes
Instalar o pacote nos respectivos repositórios
Limpar a pasta target
Gerar um projeto eclipse(normalmente prefiro recriar)
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
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
Ignorar os testes ao instalar um pacote
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
Gerar 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?)
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)
Exibir todas as dependências e dependências transitivas, ajudando a identificar conflitos;
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
Framework, Java	infraestrutura, Maven, tecnologia
Posted on 25 de agosto de 2017 by Paulo R. Marinho
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:
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:
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:
7) Links importantes para conhecer:
http://maven.apache.org/plugins/index.html
http://maven.apache.org/run-maven/index.html
Posted on 23 de março de 2015 by Paulo R. Marinho
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
Server SOAP PHP
<?php require_once "lib/nusoap.php"; $soap = new soap_server; $soap->configureWSDL('WS-WebCodeFree', 'http://localhost/ws-webcodefree/'); $soap->wsdl->schemaTargetNamespace = 'http://soapinterop.org/xsd/'; $soap->register( 'info', array(),	array('x' => 'xsd:string'), 'http://soapinterop.org/' ); $soap->register( 'post_java', array(),	array('x' => 'xsd:string'), 'http://soapinterop.org/' ); $soap->register( 'post_php', array(),	array('x' => 'xsd:string'), 'http://soapinterop.org/' ); $soap->register( 'login_user', array('login' => 'xsd:string','pass' => 'xsd:int'),	array('x' => 'xsd:string'), 'http://soapinterop.org/' ); $soap->service(isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''); function info(){ return "WebCodeFree - Desenvolvimento Web."; } function post_java(){ return "Em Breve Acesso a Postagens Java Via Serviço"; } function post_php(){ return "Em Breve Acesso a Postagens PHP Via Serviço"; } function login_user($login, $senha){ return "Seja Bem Vindo Usuário ". $login . " !!!"; } ?>
$soap->configureWSDL('WS-WebCodeFree', 'http://localhost/ws-webcodefree/');
$soap->wsdl->schemaTargetNamespace = 'http://soapinterop.org/xsd/';
array('x' => 'xsd:string'),
'http://soapinterop.org/'
'post_java',
'post_php',
'login_user',
array('login' => 'xsd:string','pass' => 'xsd:int'),
return "WebCodeFree - Desenvolvimento Web.";
function post_java(){
return "Em Breve Acesso a Postagens Java Via Serviço";
function post_php(){
return "Em Breve Acesso a Postagens PHP Via Serviço";
function login_user($login, $senha){
return "Seja Bem Vindo Usuário ". $login . " !!!";
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.
Lado Cliente da Aplicação
<?php include "lib/nusoap.php"; $client = new SoapClient('http://localhost/web-service/ws-webcodefree.php?wsdl'); $result1 = $client->call('info'); $result2 = $client->call('post_java'); $result3 = $client->call('post_php'); $result4 = $client->call('login_user', array('Paulo',12)); echo $result1."<br>"; echo $result2."<br>"; echo $result3."<br>"; echo $result4."<br>"; ?>
include "lib/nusoap.php";
$client = new SoapClient('http://localhost/web-service/ws-webcodefree.php?wsdl');
$result1 = $client->call('info');
$result2 = $client->call('post_java');
$result3 = $client->call('post_php');
$result4 = $client->call('login_user', array('Paulo',12));
echo $result1."<br>";
echo $result2."<br>";
echo $result3."<br>";
echo $result4."<br>";
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.
PHP, Web Services	NuSoap, php, soap, Web Services
Feliz Natal Programadores
Posted on 24 de dezembro de 2014 by Paulo R. Marinho
Um Feliz Natal para todos Programadores e Profissionais de TI.
Posted on 21 de dezembro de 2014 by Paulo R. Marinho
Criamos 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.
O 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.
Eventos	aprendizado, dicas, programação
Posted on 18 de dezembro de 2014 by Paulo R. Marinho
Tirinhas	tirinhas
Menu de Navegação Redes Sociais com CSS
Posted on 25 de novembro de 2014 by Paulo R. Marinho
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.
Navegação Redes Sociais
<nav> <ul class="icones-sociais"> <li> <a href="http://pt-br.facebook.com/webcodefree" class="facebook"> Facebook </a> </li> <li> <a href="https://github.com/" class="github"> Github </a> </li> <li> <a href="https://twitter.com/" class="twitter"> Twitter </a> </li> <li> <a href="https://br.linkedin.com/in/pauloricardomarinho" class="linkedin"> LinkedIn </a> </li> </ul> </nav>
<ul class="icones-sociais">
<a href="http://pt-br.facebook.com/webcodefree" class="facebook">
<a href="https://github.com/" class="github">
<a href="https://twitter.com/" class="twitter">
<a href="https://br.linkedin.com/in/pauloricardomarinho" class="linkedin">
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.
CSS Navegação Redes Sociais
.icones-sociais{ position: fixed; bottom: 0; right: 0; } .icones-sociais li { display: inline-block; } .icones-sociais a { width: 64px; height: 64px; display: block; text-indent: -99999px; } .facebook { background-image: url(facebook.png); } .github { background-image: url(github.png); } .twitter { background-image: url(twitter.png); } .linkedin { background-image: url(linkedin.png); }
.icones-sociais{
.icones-sociais li {
.icones-sociais a {
background-image: url(github.png);
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.