Configurando Java no Ubuntu

Primeiramente, baixe a ultima versão do JDK no endereço:

Aceite os termos e escolha a opção: jdk-7u5-linux-i586.tar.gz

Após baixado, descompacte o pacote com o comando:

$ tar -zxvf jdk-7u5-linux-i586.tar.gz

Após executado o comando, será criado a pasta “jdk1.7.0_05”.

Depois de descompactado o arquivo, mova e renomeie o arquivo para a pasta “/opt” de seu sistema operacional, com o comando:

$ sudo mv jdk1.7.0_05/ /opt/jdk

Obs.: Será requisitado a sua senha de superusuário.

Configuração

Agora vamos configurar o sistema.

Primeiro, certifique-se de que não haja um plugin Java já instalado, para isso digite:

$ java -version

A saída deve ser:

O programa ‘java’ pode ser encontrado nos seguintes pacotes:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless

Tente: sudo apt-get install <pacote selecionado>

Se a saída não for essa, você deve desinstalar pelo gerenciador de pacotes, qualquer programa que faça referencia ao Java.

Após feito isso, só falta configurar o classe path do Java e o plugin para o Firefox. Para configurar o classe path deve-se editar o arquivo “bash.bashrc” na pasta “/etc”.

Digite o comando:

$ sudo gedit /etc/bash.bashrc

Ao final do arquivo, acrescente as seguintes linhas:

JAVA_HOME=/opt/jdk
export JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

A configuração do classe path está pronta, agora vamos configurar o plugin para o Firefox.

Digite o comando:

$ cd /usr/lib/firefox-addons/plugins/

Dentro desta pasta é onde devem ficar os plugins que o Firefox necessita, aqui devemos fazer um link simbólico para o plugin “libnpjp2.so”, que está na pasta do JDK, para isso, use o seguinte comando:

$ sudo ln -s /opt/jdk/jre/lib/i386/libnpjp2.so

Feito isso, reinicie o seu sistema para recarregar as variáveis de ambiente.

Após reiniciado, execute no terminal:

$ java -version

A saída deve ser semelhante a isso:

java version “1.7.0_05”
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)

Se aparecer isso, o classe path está OK.

Bolinho da Tarde

ingredientes

 

Massa

  • 4 – ovos
  • 3 – colheres de manteiga
  • 1 – colher (sopa) de fermento em pó
  • 4 – colheres (sopa) de açúcar
  • farinha de trigo (para dar ponto na massa)
  • óleo para fritar
  • açúcar e canela

 

modo de preparo

 

Modo de preparo

Bater no liquidificador todos os ingredientes, exceto a farinha de trigo. Colocar esta mistura em uma tigela e adicionar, aos poucos, a farinha até o ponto de desgrudar das mãos. Moldar os bolinhos, fritar em óleo quente e salpicar o açúcar e a canela.

 

Lucene – Exemplo de indexação e busca

Este exemplo aborda uma forma simples de indexação e busca de documentos utilizando a API do Apache Lucene, na sua atual versão 3.6. Ela pode ser baixada aqui e para utilizar em seu projeto, basta incluir a lib lucene-core-3.6.0.jar em seu classpath.

Criando o índice e definindo os termos dos documentos:

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);

FSDirectory indexDir = FSDirectory.open(new File("/index"));
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_36, analyzer);
IndexWriter iw = new IndexWriter(indexDir, iwc);

final String FIELD_LINK = "link";
final String FIELD_POST = "post";

Na primeira linha definimos qual será o analisador tanto para a indexação, quanto a que será utilizada no momento da busca. Neste caso utilizarei a Standard, mas já se tem disponível o analyzer em diversas linguagens e também pode-se criar um próprio, se necessário.

Após é feito a criação e abertura do índice. Neste caso, utilizando um índice gravado em disco através da classe FSDirectory. Dependendo da necessidade, pode-se usar a classe RAMDirectory para trabalhar com o índice todo somente em memória.

FIELD_LINK e FIELD_POST são os dois campos de exemplos deste índice, indicando o link de uma página e o seu conteúdo, respectivamente.

Inserindo um documento no índice:

Document doc1 = new Document();
doc1.add(new Field(FIELD_LINK, "http://www.coffeecode.com.br/?doc=1", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
doc1.add(new Field(FIELD_POST, "teste de busca em um texto livre", Field.Store.YES, Field.Index.ANALYZED));
iw.addDocument(doc1);

Document doc2 = new Document();
doc2.add(new Field(FIELD_LINK, "http://www.coffeecode.com.br/?doc=2", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
doc2.add(new Field(FIELD_POST, "outro texto para busca", Field.Store.YES, Field.Index.ANALYZED));
iw.addDocument(doc2);

iw.commit();

O Lucene trabalha com documentos, então cada entrada de dados será um documento com seus campos. Assim, instanciamos a classe Document e definimos quais serão seus campos, o valor, se este valor será recuperado ou apenas buscável e se ele deve passar pelo analisador.

Feito isto, os dois documentos já estão indexados e prontos para serem buscados. Sendo assim, partimos para a busca!

IndexReader ir = IndexReader.open(indexDir);
IndexSearcher is = new IndexSearcher(ir);

PhraseQuery pq = new PhraseQuery();
pq.add(new Term(FIELD_POST, "livre"));

TopDocs td = is.search(pq, 10);
for(ScoreDoc sdoc : td.scoreDocs) {
	Document d = is.doc(sdoc.doc);
	System.out.println("Link: "+d.get(FIELD_LINK));
	System.out.println("Post: "+d.get(FIELD_POST));
}

Com a classe IndexReader deixamos disponível o índice para leitura e utilizamos a IndexSearcher para passar a query e recuperar os documentos. Aqui podemos usar diversos tipos de implementações da classe Query, como a PhraseQuery, BooleanQuery, MultiPhraseQuery, TermQuery, entre outras.

A busca, neste caso, será pela palavra “livre” em cima do campo indexado post. Ela pode retornar um objeto TopDocs que contém os documentos que bateram com o termo buscado. A partir deles pode-se acessar diretamente o índice e retornar os campos desejados.

Deployment externo no JBoss 6

Se você deseja utilizar diretórios externos do JBoss 6 para efetuar seus deployments, faça o seguinte:

  1. Abra o arquivo JBOSS_HOME/<servername>/conf/bootstrap/profile.xml
  2. Localize <property name=”applicationURIs”>
  3. Adicione a tag “value” dentro <list elementClass=”java.net.URI”>

Exemplo da configuração:

<property name=”applicationURIs”>
<list elementClass=”java.net.URI”>
<value>${jboss.server.home.url}deploy</value>
<!– Add your own deploy folder –>
<value>file:c:/deploy/ds</value>
<value>file:c:/deploy/lib</value>
<value>file:c:/deploy/default</value>
</list>