Usando ‘alternatives’ para trabalhar com duas versões de java (linux)

È fácil trabalhar com duas versões diferentes de jdk do java na sua máquina linux usando a ferramenta ‘alternatives’ do linux.

Exemplos para instalar as JDKs no alternatives:


[root@devdelver ~]$ alternatives --install /usr/bin/java java
> /usr/java/jdk1.7.0_51/bin/java 1

[root@devdelver ~]$ alternatives --install /usr/bin/java java
> /usr/java/jdk1.6.0_45/bin/java 1

###Desenvolvedores, é recomendável fazer o mesmo com o 'javac': ###
[root@devdelver ~]$ alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_51/bin/javac 1
[root@devdelver ~]$ alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_45/bin/javac 1

Agora, quando quiser trabalhar com uma ou outra versão, use Continuar lendo →

Merge de uma revisão específica no SVN via linha de comando

Apresento os comandos do subversion usados para fazer merge de uma revisão específica de uma branch (ou tag) para a sua working copy.

Antes de fazer o merge propriamente dito, é intessante ver as mudanças através de ‘svn diff’:


[myuser@myhost myproj] cd myproj-web/src/main/java/com/package
[myuser@myhost package]$ svn diff -c 11409 ^/myproj/branches/correcaoABC/myproj-web/src/main/java/com/package
Index: myfile.java
===================================================================
--- myfile.java (revisão 11408)
+++ myfile.java (revisão 11409)
@@ -458,9 +458,9 @@
[as mudanças são apresentadas aqui...]

O número 11409 é a revisão onde estão as mudanças que se deseja trazer para a working copy. O ‘svn diff’ funciona apenas quando está no diretório corrente. A opção -R [–recursive] não é válida para o ‘svn diff’.

DICA: No windows, o parâmetro do caminho do branch iniciado com ^ deve estar entre aspas.

Depois de confirmada as mudanças, você pode fazer o merge desta revisão propriamente dita:

Continuar lendo →

Subversion: Criando uma branch após fazer alterações locais


Suponha o seguinte cenário: Você realizou ‘checkout’ (ou update) dos fontes que estavam no SVN para o seu computador (working copy), começou a fazer uma série de alterações locais e percebeu que precisa criar uma branch para continuar o trabalho. O que fazer?

Fácil:
1. Vá para a pasta raiz do projeto;
2. Crie uma branch a partir da Continuar lendo →

JAVA Webstart: Evitando confirmação do Chrome para seus próprios certificados (RESOLVIDO)

Alguns browsers, como o Chrome, não estão permitindo que aplicações JAVA WebStart sejam executadas sem aquele aviso quando um certificado para editores desconhecidos (unknown publisher). Antigamente o plugin do Java do browser dava uma opção para o usuário confiar no certificado de forma permanente. Aparentemente, isso não ocorre mais.

Ora, muitos trabalham criando aplicativos internos para empresas e é obrigado a criar uma applet ou aplicativo java webstart com um certificado próprio para acessar algum equipamento específico do usuário. São casos onde não há a mínima razão de gastar dinheiro por certificados de uma certificadora autorizada.

Consegui fazer com que o plugin do java do browser mostre novamente a opção (checkbox) para que o usuário diga se quer ou não confiar num certificado criado pelo próprio desenvolvedor. Os passos são os seguintes: Continuar lendo →

Software para capturar parte da tela do windows

Eu gosto muito deste software para capturar e salvar a imagem da tela do computador:

Screen Hunter – Clique para visitar a página do criador.

Eu uso a versão gratuita, pois, a principal funcionalidade que eu preciso é capturar uma região retangular da tela do windows.

Subversion: Trabalhando com branches via command line.

Criação de uma nova branch

Para criar uma branch no SVN, use o Tortoise ou a linha de comando abaixo:


$svn copy http://svn.example.com/repos/calc/trunk
http://svn.example.com/repos/calc/branches/my-calc-branch
-m "Creating a private branch of /calc/trunk."

Committed revision 341.

Atualizando a branch

Se tem pessoas trabalhando e atualizando constantemente o trunk, é boa prática manter a sua branch atualizada com essas mudanças para ter menos trabalho de ‘merge’ no futuro. O comando para manter a branch atualizada com as mudanças Continuar lendo →

C#: ‘Ninject.IKernel’ does not contain a definition for ‘Get’ [Resolvido]

Se no Visual Studio aparecer o seguinte erro quando você estiver usando Ninject com C#:

Error 61 'Ninject.IKernel' does not contain a definition for 'Get' and no extension method 'Get' accepting a first argument of type 'Ninject.IKernel' could be found (are you missing a using directive or an assembly reference?)

Não se preocupe. É que o Get faz parte de uma extensão. Você deve acrescentar no início do fonte a seguinte diretiva:

[csharp]using Ninject;[/csharp]

JAVA: javax.mail está ignorando a porta de rede [RESOLVIDO]


Demorei muito para descobrir um problema numa aplicação que envia e-mail usando o “javax.mail”. A aplicação estava simplesmente ignorando a porta de rede que eu estava especificando na propriedade “mail.smtp.port”.

[java highlight=”3,7″]
// CODIGO COM FALHA (o corrigido está abaixo)
String servidor = "localhost";
int porta = 2525;
props = System.getProperties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.host", servidor);
props.setProperty("mail.smtp.port", porta);
session = Session.getDefaultInstance(props);
in = new FileInputStream(file);
msg = new MimeMessage(session, in);
msg.setFrom(new InternetAddress(""));
msg.setRecipient(Message.RecipientType.TO, new
InternetAddress(""));
transport = session.getTransport();
transport.send(msg);
[/java]

Não dava erro, nenhuma exceção e nem enviava o e-mail. Depois de muito tempo eu descobri que a propriedade "mail.smtp.port" deve ter Continuar lendo →

LINQ to SQL (C#) Como fazer uma Association entre Table e View do Database


Este artigo ensina como fazer uma associação (association ou relationship) entre uma Tabela e uma View do Banco de Dados ou entre duas Views.

As tabelas têm PK e FK definidas. Por isso o Visual Studio automaticamente cria as
associações quando as tabelas são arrastadas para o O/R designer. Mas as Views não têm essa informação… Como criar então o relacionamento entre uma tabela e um view ou entre duas views?
Continuar lendo →

Modificando ‘hosts’ no Windows 7


Problema
Abro o arquivo ‘hosts’ no bloco de notas (notepad). Mas quando tento salvá-lo, o sistema operacional informa que eu não tenho permissão para alterar o arquivo.

Solução em 1 frase:

“Para modificar o arquivo hosts, você deve executar o bloco de notas como administrador.”

Já resolveu pra você? Não esqueça de clicar no ícone ‘g+1’ no final deste post para que outras pessoas também encontrem esta solução com facilidade.

Solução detalhada

  1. Execute o bloco de notas como administrador:
    1. Clique no botão ‘iniciar’;
    2. WIN7: Escreva ‘notepad’ ou ‘bloco de notas’ na caixa de texto;
    3. clique com o botão direito do mouse sobre o atalho do notepad;
    4. escolha a opção ‘Executar como administrador…’; (você deve ser administrador da máquina!)
  2. Abra o arquivo hosts:
    1. Vá até a pasta ‘c:windowssystem32driversetc’ (caminho pode variar);
    2. Escolha arquivos do tipo: “Todos os arquivos”, pois o arquivo ‘hosts’ não tem extensão;
    3. selecione o arquivo ‘hosts’;
  3. Faça as alterações desejadas;
  4. Salve as suas alterações;

Você conseguirá salvar graças ao modo administrador.