Search

Marcelo Lecar

Tag

maven

maven-shade-plugin e maven-jarsigner-plugin juntos

Trabalhando com os plugins:

maven-shade-plugin e maven-jarsigner-plugin

eu estava recebendo o seguinte erro ao executar o jar gerado com “maven clean install”:

java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

Fiz a verificação da assinatura do jar com o seguinte comando “jarsigner -verify ” e obtive:

jar-not-signed

O motivo desse erro para mim era porque, como o maven trabalha baseado em FIFO e na configuração do meu pom, eu estava colocando o plugin do jarsigner antes do shade.

Após trocar a ordem dos plugins e executar o comando de verificação novamente eu obtive:

jar signed

voilà!

Jar assinado e agora eu agora consigo executá-lo.

Maven Release: branch + Git

Há pouco tempo me deparei com uma certa dificuldade em gerar a release de um branch que eu havia criado. Isso se deve ao fato de termos mudado de SVN para Git recentemente.

A nossa linha de desenvolvimento é no trunk, reservamos as branches somente para corrigirmos bugs que aparecem em produção em versões fechadas e que não tenhamos capotado a versão seguinte ou que já tenhamos adicionado novas features que ainda não estão maduras ou testadas o suficiente de forma a garantirmos a qualidade do software.

Então, para a versão fechada, digamos 1.15, criaremos a versão de branch 1.15.0.1.1. (Descreverei em outro post esse versionamento)

Lembrando que utilizamos o Git e que sendo assim, criamos o branch a partir da tag 1.15 com o comando abaixo:

git checkout -b projeto-1.15 projeto-1.15

Está correto mesmo, criaremos o branch 1.15 para que consigamos fazer com que o maven crie uma nova branch de desenvolvimento que se chamará projeto-1.15.0.1.1 e em seus poms teremos a tag version como projeto-1.15.0.1.1-SNAPSHOT. Caso contrário vc terá de alterar todos os poms manualmente para esta versão, o que não se justifica.

Feito o checkout da versão projeto-1.15 agora é só executar o seguinte comando:

mvn release:branch -DautoVersionSubmodules=true -DbranchName=projeto-1.15.0.1.1 -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false

Feito isso, a branch projeto-1.15.0.1.1 será criada e os poms estarão com a tag version projeto-1.15.0.1.1-SNAPSHOT.

Agora é só fazer as devidas correções do bug, adicionar ao index do git, commitar no repositório e executar o comando:

mvn release:prepare

E se tudo der certo:

mvn release:perform

Caso alguma coisa dê errado, verifique o erro informado e se for necessário vc poderá executar o comando (mas lembre-se de NÃO deletar os arquivos de rollback gerados pelo mvn release:prepare, senão o passo seguinte não funcionará):

mvn release:rollback

Website Powered by WordPress.com.

Up ↑