<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PauloMotta.pro &#187; JAVA</title>
	<atom:link href="http://www.paulomotta.pro.br/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulomotta.pro.br</link>
	<description>&#34;Qualquer tecnologia suficientemente avançada é indistinguível da mágica&#34; - Arthur C. Clarke</description>
	<lastBuildDate>Tue, 10 Jan 2012 03:00:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Lady Java?</title>
		<link>http://www.paulomotta.pro.br/2011/06/03/lady-java/</link>
		<comments>http://www.paulomotta.pro.br/2011/06/03/lady-java/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 04:00:02 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Diversão]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[nerd]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1397</guid>
		<description><![CDATA[Seguindo nossa série de músicas sobre programação (ou algo mais ou menos assim) encontramos uma fantástica melodia da diva pop Lady Java!]]></description>
			<content:encoded><![CDATA[<p>Seguindo nossa série de músicas sobre programação (ou algo mais ou menos assim) encontramos uma fantástica melodia da diva pop Lady Java!</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/Mk3qkQROb_k?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Mk3qkQROb_k?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/06/03/lady-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans 6.9 JBoss 6 support to use ICEfaces 2.0</title>
		<link>http://www.paulomotta.pro.br/2011/05/14/netbeans-6-9-jboss-6-support-to-use-icefaces-2-0/</link>
		<comments>http://www.paulomotta.pro.br/2011/05/14/netbeans-6-9-jboss-6-support-to-use-icefaces-2-0/#comments</comments>
		<pubDate>Sun, 15 May 2011 01:57:58 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Inovação]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tendências]]></category>
		<category><![CDATA[ICEFaces]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1342</guid>
		<description><![CDATA[For the first time I will post first in English but you can always use the Google Translator service What I have seen in many forums, and me myself was able to experience, was that if you are planning on use ICEfaces 2.0 you need JBoss 6.0. ICESoft has provided a NetBeans 6.9 community plugin [...]]]></description>
			<content:encoded><![CDATA[<p>For the first time I will post first in English but you can always use the Google Translator service <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>What I have seen in many forums, and me myself was able to experience, was that if you are planning on use ICEfaces 2.0 you need JBoss 6.0. ICESoft has provided a NetBeans 6.9 community plugin that supports ICEfaces 2.0 and the problem is NetBeans 6.9 does not support JBoss 6.0.</p>
<p>Now you have to choose between wait until there is a NetBeans 7.0 available or build and manage your project manually. Since I didn&#8217;t want neither I decided to study NetBeans source code to see where it mentions JBoss 6.0.</p>
<p>I have found one of the many forums some tips about a <a href="http://netbeans.org/bugzilla/show_bug.cgi?id=181753" target="_blank">patch that could be installed in order to make it start JBoss 6 correctly</a>, not only it is really complicated to apply it, it is not a complete solution. This is because before starting JBoss 6 it must be correctly recognized by NetBeans 6.9 and that is the point. Using the information that is on the NetBeans bug list I found where the servers are installed, but now the problem was, what to do? That was when it occurred me that I could try checking NetBeans 7.0 source code to see what was different.</p>
<p>I&#8217;ve found out that I needed to change the server installation wizard and I used the &#8220;diff to&#8221; tool from NetBeans to find the files that were different the list is:</p>
<ul>
<li>src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBPluginUtils.java</li>
<li>src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBInstantiantingIterator.java</li>
<li>src/org/netbeans/modules/j2ee/jboss4/ide/JBLogWriter.java</li>
<li>src/org/netbeans/modules/j2ee/jboss4/util/JBProperties.java</li>
</ul>
<p>I was kind of naive to think that it would be enough however when installed I was able only to install JBoss 6 as a server but couldn&#8217;t create projects compatible with JEE6, only JEE5 was available.</p>
<p>Up until this point we are talking about 8 hours of stone breaking <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The second part was a little more complicated because I didn&#8217;t know where to start, so I started searching the folders for any class that could contain a reference to JEE6 that is when I found that the class responsible for JBoss EE configurations was:</p>
<ul>
<li>src/org/netbeans/modules/j2ee/jboss4/ide/JBJ2eePlatformFactory.java</li>
</ul>
<p>Cool! But, how could I get it to work? For the source code correction I went through the same process of &#8220;diffing&#8221; them, but the project simply stopped compiling!</p>
<p>What I found was that the whole NetBeans internal structured changed and this was complicated the figure out. I found that I would need to copy a new abstract class called:</p>
<ul>
<li>j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/J2eePlatformImpl2.java</li>
</ul>
<p>and this wasn&#8217;t for the NetBeans JBoss support structure, this needed to be on the core libraries. But still no compilation, the project.xml needed to include a reference to the library, this was a minor problem <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After the whole compilation process was through I thought it would be easier to simply copy the new jar files to my NetBeans 6.9.1 installation under the enterprise/modules folder and it worked fine!</p>
<p>The next step was to test everything both with and without ICEfaces 2.0, everything went fine using EJB injections, and even using the  debug feature when starting JBoss 6 under NetBeans.</p>
<p>And that were more 8 hours of broken stone carrying <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So here is a zip file that contains the libraries ready for use. You are free to use it but I offer no warranties, so use it at your own risk. You have to unzip it under the NetBeans 6.9 or 6.9.1 folder and beware that when creating JSF/ICEfaces projects with JBoss 6 DO NOT include the jsf-api and jsf-impl into the war/ear file because it will conflict with the JBoss 6 provided libraries.</p>
<p style="text-align: center;"><a href="http://www.paulomotta.pro.br/wp-content/uploads/2011/05/netbeans-6.9-JBoss6.zip">netbeans-6.9-JBoss6</a></p>
<p style="text-align: left;">If you think that all this work will help you please donate and help more solutions come to life!</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="hosted_button_id" type="hidden" value="V5SJUB2ZHP49J" />
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_US/i/btn/btn_donateCC_LG.gif" type="image" /> <img class="aligncenter" src="https://www.paypalobjects.com/WEBSCR-640-20110429-1/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /><br />
</form>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/05/14/netbeans-6-9-jboss-6-support-to-use-icefaces-2-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como usar o JFlex, um tutorial</title>
		<link>http://www.paulomotta.pro.br/2011/03/01/como-usar-o-jflex-um-tutorial/</link>
		<comments>http://www.paulomotta.pro.br/2011/03/01/como-usar-o-jflex-um-tutorial/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 11:00:09 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Principal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Compiladores]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Robôs]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1291</guid>
		<description><![CDATA[Em uma tentativa de tornar a aula de compiladores mais interessante eu fui em busca de ferramentas que pudessem gerar analisadores léxicos com alguma facilidade. É claro que em ambiente linux você já tem o lex e o flex instalados (ok, se você instalar os pacotes de desenvolvimento, o que quase sempre acontece), mas em [...]]]></description>
			<content:encoded><![CDATA[<p>Em uma tentativa de tornar a aula de compiladores mais interessante eu fui em busca de ferramentas que pudessem gerar analisadores léxicos com alguma facilidade. É claro que em ambiente linux você já tem o lex e o flex instalados (ok, se você instalar os pacotes de desenvolvimento, o que quase sempre acontece), mas em ambiente Windows eu não tinha muita ideia de como providenciar. Como nada é tão trivial como eu gostaria achei melhor colocar um tutorial do que fazer.</p>
<p>Foi aí que esbarrei com o <a href="http://jflex.de/index.html" target="_blank">JFlex</a>, é uma implementação em Java, baseada o <a href="http://www.cs.princeton.edu/~appel/modern/java/JLex/" target="_blank">JLex</a>, sendo este último mais queixo duro. O JFlex tem uma interface gráfica bem simpática, mas que no final das contas você nem precisa usar <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Uma das vantagens é que ele permite usar um modo de compatibilidade para ser usado junto com o <a href="http://www2.cs.tum.edu/projects/cup/" target="_blank">CUP</a> que vai analisar sintaticamente o seu programa. Assim você mata duas etapas do processo de compilação e depois pode escrever seu interpretador ou seu gerador de código!</p>
<p>Para facilitar a tarefa eu juntei as duas ferramentas em um &#8220;toolkit&#8221; já com 2 exemplos mastigados de como usar só o JFlex e dois de como usar a integração com o CUP. Como o pacote original do JFlex tem alguns exemplos interessantes eu deixei ele incluído no toolkit, mas já preparei os Makefiles dos projetos para referenciar a pasta lib que está no arquivo zip (<a title="baixe" href="http://www.paulomotta.pro.br/wp-content/uploads/2011/02/CompToolKit.zip">baixe</a> e descompacte no seu micro que esse parágrafo vai fazer mais sentido).</p>
<p>Então, para usar o JFlex é necessário entender para que ele serve antes de tudo. O objetivo dessa ferramenta gerar um programa que seja capaz de analisar uma entrada (normalmente de arquivo texto) que contém um &#8220;programa&#8221; escrito na linguagem definida e identificar se não contém algum caracter estranho ao que possa ser reconhecido. É só isso mesmo, mas escrever o analisador na mão é bem mais complicado, então por isso usamos esse tipo de ferramenta (pelo menos nos cursos de compiladores).</p>
<p>Para ajudar vou colocar uma figura aqui.</p>
<p style="text-align: center;"><a href="http://www.paulomotta.pro.br/wp-content/uploads/2011/02/JFlex.jpg"><img class="size-medium wp-image-1297  aligncenter" title="JFlex" src="http://www.paulomotta.pro.br/wp-content/uploads/2011/02/JFlex-300x162.jpg" alt="" width="300" height="162" /></a></p>
<p>Temos duas areas nessa figura, uma acima do pontilhado, que é o processo de construção do analisador léxico, e a outra embaixo do pontilhado que é o uso do analisador já pronto. Neste exemplo estou trabalhando com uma linguagem fictícia chamada T1.</p>
<p>Uma saída comum do programa gerado pelo JFlex é uma tabela de símbolos com os valores que foram reconhecidos do programa analisado.</p>
<p>Para funcionar o JFlex recebe um arquivo em formato txt normalmente com a extensão .lex ou .flex, esse arquivo deve seguir um formato definido, com 3 seções separadas por %%:</p>
<ol>
<li>Código do usuário &#8211; esta seção contém códigos que você precise para o seu analisador final, ela é copiada para o arquivo final</li>
<li>Definições e macros &#8211; nesta seção você define macros e seleciona as opções de configuração do JFlex</li>
<li>Regras &#8211; nesta última seção você vai definir as regras que indicam o que  fazer, por exemplo retornar um símbolo, com os textos que vão sendo  reconhecidos da entrada. Essas regras vão ser analisadas para gerar o  autômato da linguagem que depois será codificado pelo JFlex.</li>
</ol>
<p>É melhor colocar um exemplo bem simples aqui:</p>
<blockquote>
<pre>//secao do usuario, nao coloquei nada
%%
//nome da classe CalcLexer
%class CalcLexer
//ativa contagem de linhas
%line
//ativa contaagem de colunas
%column
//coloca em modo de debug que permite usar de forma isolada para testes
%debug
//macros sao escritas em expresoes regulares
LineTerminator = \r|\n|\r\n
WhiteSpace     = {LineTerminator} | [ \t\f]
dec_int_lit = 0 | [1-9][0-9]*
dec_int_id = [A-Za-z_][A-Za-z_0-9]*

%%
//regras
&lt;YYINITIAL&gt; {

 ";"   { return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 "+"   { System.out.print(" + ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 "-"   { System.out.print(" - ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 "*"   { System.out.print(" * ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 "/"   { System.out.print(" / ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 "("   { System.out.print(" ( ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
 ")"   { System.out.print(" ) ");
         return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }

 {dec_int_lit}      { System.out.print(yytext());
 return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }

 {dec_int_id}       { System.out.print(yytext());
 return (new Yytoken(0,yytext(),yyline,yychar,yychar+1));}

 {WhiteSpace}       { /* pula, não faz nada */ }   
}
<pre>[^]      { throw new Error("Caracter inválido &lt;"+yytext()+"&gt;"); }</pre>
</pre>
</blockquote>
<p>Então com esse arquivo podemos gerar um analisador léxico capaz de reconhecer os caracteres necessários para escrever expressões aritméticas, mas ele não vai reconhecer se estão corretamente formadas, isso é papel do analisador sintático (que será o CUP).</p>
<p>Outra coisa importante desse exemplo, como estamos operando em modo debug, as regras estão retornando um objeto da classe Yytoken que deve ser fornecida (no toolkit esse exemplo está todo pronto). Quando integrarmos com o CUP o retorno será uma entrada na tabela de símbolos e por isso será do tipo inteiro.</p>
<p>Para encerrar, um breve comentário sobre uns métodos que aparecem na área de regras, temos:</p>
<ul>
<li> yytext() &#8211; retorna o texto atual reconhecido pelo lexer</li>
<li>yyline &#8211; retorna o número da linha atual</li>
<li>yychar &#8211; retorna o número do caracter atual</li>
</ul>
<p>Para integrar com o CUP o uso do yytext() será muito importante, então no próximo texto veremos isso com mais detalhes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/03/01/como-usar-o-jflex-um-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ainda sobre o Watson</title>
		<link>http://www.paulomotta.pro.br/2011/02/25/ainda-sobre-o-watson/</link>
		<comments>http://www.paulomotta.pro.br/2011/02/25/ainda-sobre-o-watson/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 11:00:45 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Inovação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Ciências]]></category>
		<category><![CDATA[DISTRIBUIÇÃO]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[PARALELISMO]]></category>
		<category><![CDATA[Pesquisa]]></category>
		<category><![CDATA[Processador]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1283</guid>
		<description><![CDATA[Recebi ontem por twitter uma notícia de que o programa da IBM para jogar Jeopardy tem grande parte do seu código feito em Java. É composto de 10 racks de servidores IBM Power 750 rodando linux, tem 15 TB de RAM, 2880 núcleos e atinge incríveis 80 teraflops. O time da IBM respondeu 10 perguntas [...]]]></description>
			<content:encoded><![CDATA[<p>Recebi ontem por twitter uma notícia de que o programa da IBM para jogar Jeopardy tem grande parte do seu código feito em Java. É composto de 10 racks de servidores IBM Power 750 rodando linux, tem 15 TB de RAM,  2880 núcleos e atinge incríveis 80 teraflops. O time da IBM respondeu 10 perguntas que foram enviadas para lá, as perguntas e respostas em inglês podem ser lidas <a href="http://blog.reddit.com/2011/02/ibm-watson-research-team-answers-your.html" target="_blank">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/02/25/ainda-sobre-o-watson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uma bibliografia JavaEE mais atual</title>
		<link>http://www.paulomotta.pro.br/2011/02/22/uma-bibliografia-javaee-mais-atual/</link>
		<comments>http://www.paulomotta.pro.br/2011/02/22/uma-bibliografia-javaee-mais-atual/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 11:00:00 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Bibliografias]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[ANÁLISE]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[SISTEMA]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=1265</guid>
		<description><![CDATA[Há muito tempo, meu primeiro post foi uma bibliografia sobre Java. Naquela época eu pensava em usar o site mais como apoio aos cursos que ministrava do que como um lugar para expressar meus pensamentos sobre tecnologia. De lá para cá muita coisa mudou, embora algunas daqueles livros continuem válidos. Resolvi então colocar aqui uma [...]]]></description>
			<content:encoded><![CDATA[<p>Há muito tempo, meu primeiro post foi uma bibliografia sobre Java. Naquela época eu pensava em usar o site mais como apoio aos cursos que ministrava do que como um lugar para expressar meus pensamentos sobre tecnologia.</p>
<p>De lá para cá muita coisa mudou, embora algunas daqueles livros continuem válidos. Resolvi então colocar aqui uma lista dos livros que um desevolvedor Java EE da atualidade deve ler para conseguir dominar esse ambiente, pelo menos são os livros básicos <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<ol>
<li><a href="http://www.submarino.com.br/produto/1/158382/utilizando+uml+e+padroes/franq=268087" target="_blank">Utilizando UML e Padrões do Craig</a> &#8211; livro obrigatório porque discute o que é desenvolver sistemas, fala de padrões de projeto e de como fazer a análise</li>
<li><a href="http://www.submarino.com.br/produto/1/1981750/franq=268087" target="_blank">Java Persistence com Hibernate</a> &#8211; detalha como funciona a API de persistência do Java, mas utiliza muitos detalhes relacionados ao Hibernate. O livro é muito bom porque discute em detalhes todos os problemas relacionados ao uso de bancos de dados relacionais com linguagens de programação orientadas a objetos.</li>
<li><a href="http://www.submarino.com.br/produto/1/1974097/franq=268087" target="_blank">Core Java Server Faces</a> -  apresenta o framework da Sun para o desenvolvimento de aplicações web, desde que comecei a usar o JSF não quero mais saber de Struts <img src='http://www.paulomotta.pro.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  não vou falar mal do Struts porque usei muito no passado, mas o JSF realmente é um modelo mais robusto e interessante. Este livro cobre todos os detalhes de como usar e como escrever uma aplicação completa.</li>
<li><a href="http://www.submarino.com.br/produto/1/21565273/franq=268087" target="_blank">EJB3 em Ação</a> &#8211; Nenhuma aplicação Java EE está completa sem o uso de EJB, que é o modelo de componentes proposto pela Sun para a linguagem Java. Neste livro aprendemos como usar a especificação mais recente e como o uso de anotações facilita a vida do desenvolvedor que fica livre de muitos arquivos XML.<a href="http://www.submarino.com.br/produto/1/21565273/franq=268087" target="_blank"><br />
</a></li>
<li><a href="http://www.submarino.com.br/produto/1/21393669/franq=268087" target="_blank">EJB3 Profissional: Java Persistence API</a> &#8211; Um complemento ao livro de Hibernate, neste livro o leitor vai achar material relacionado apenas a especificação o que é muito bom porque, como costumo trabalhar, pode-se ficar totalmente independente da implementação de persitência.</li>
<li><a href="http://www.submarino.com.br/produto/1/21499577/franq=268087" target="_blank">Desenvolvendo Relatórios Profissionais Com iReport Para Netbeans IDE</a> &#8211; Como toda aplicação precisa de relatórios para estar completa, nada como usar uma ferramenta poderosa e baseada em ambiente gráfico para escrever os seus. Neste livro, aprendemos a usar o plugin para Netbeans de forma gradual e bem detalhada.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2011/02/22/uma-bibliografia-javaee-mais-atual/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

