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]