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.