Script para buscar uma classe em algum jar

As vezes queremos saber em qual jar esta uma determinada classe, então esta ai um script que irá ajuda-lo a encontrar!


#!/bin/sh

if [ -z "$2" ]
then
echo Usage: $0 Directory ClassName
exit 1
fi

for f in $(find $1 -name '*.jar')
do
jar tf $f | grep "$2" && echo "[in $f]"
done

Exemplo buscando nos modelos do wildfly-8.1.0.Final:

findinjar.sh . EntityManagerFactory.class
javax/persistence/EntityManagerFactory.class
[in modules//system/layers/base/javax/persistence/api/main/hibernate-jpa-2.1-api-1.0.0.Final.jar]
org/hibernate/ejb/HibernateEntityManagerFactory.class
org/hibernate/jpa/HibernateEntityManagerFactory.class
[in modules//system/layers/base/org/hibernate/main/hibernate-entitymanager-4.3.5.Final.jar]

Comandos Úteis – Subversion – SVN

Segue alguns comandos úteis para quem trabalha com o Repositório Subversion ou SVN

Unknown

# Mostrar informações da cópia local.
svn info

# Visualizar commits de uma revisão específica.
svn log --verbose -r 42

# Visualizar commits em um intervalo.
svn log <url> -qv -r {2015-07-30}:{2015-08-03}

# Visualizar commits somarizados em um intervalo.
svn diff <url> --summarize -r {2015-08-03}:{2015-08-04}

# Visualizar as diferenças entre 2 branches.
svn diff --summarize --old ^/branches/b26_0_0_20150522 --new ^/trunk

# Fazer um checkout de um repositório.
svn checkout/co <url> <path>
#Ex: svn co svn://svn.myserver.com/myproject/trunk myproject

# Comitando.
svn add myfolder
svn commit -m "Adding myfolder" myfolder
svn commit -m "log messages"

# Removendo.
svn delete myfolder
svn commit -m "Removing myfolder file" myfolder

# Diferença.
svn diff filename

# Status da minha cópia local.
svn status

# Atualizar a minha cópia local.
svn update

# Ignorar recursivo.
svn propset svn:ignore '*.index' . --recursive

# Obter o código de uma revisão antiga.
svn up -rXXXX

Comandos Úteis – OSX – Desktop

Segue alguns comandos bobos, mas úteis para os iniciantes do OSX no Mac

imagem_10_atalhos_macosx00_small (1)

Simbolos:

  • ⌘ = Command
  • ⌥ = Option
  • ⌃ = Control
  • ⇧ = Shift
  • ↩ = Return (ou Enter)

Comandos:

  • Minimizar Janela Activa: Command+M
  • Minimizar Todas as Janela: Command+Option+H+M
  • Alternar entre Janelas: Command + Tab até achar a janela, pressionar o Option e soltar o Tab
  • Fechar : Command+W
  • Sair : Command+Q
  • Apagar : Command+Delete
  • Ir para Docker: Control+F3
  • Ir para Spotlight: Command + Space
  • Printscreen Janela Ativa: Command+Shift+3
  • Printscreen Selecionável: Command+Shift+4
  • Ir para início/final da linha/página: Command + ← ↑ → ↓

Gerenciando variáveis de ambiente JAVA_HOME no Mac, Linux, …

java

Existem diversas formas para gerenciar variáveis de ambiente em sistema Unix, uma forma simples é:

Adicionar ao ficheiro /etc/profile (é preciso ter permissão de root).

Exemplo:

sudo vi /etc/profile

/etc/profile

JAVA_HOME=/opt/java/jdk1.7.0_80
ANT_HOME=/opt/java/apache-ant-1.9.6
M2_HOME=/opt/java/apache-maven-3.3.3

PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$M2_HOME/bin

export PATH JAVA_HOME ANT_HOME M2_HOME 

Pronto!

Agora só fazer um reload do ficheiro, para não ter que reiniciar a máquina! 🙂

source /etc/profile

Para testar se tudo deu certo. Verificar a versão. Exemplo

java -version
# ant -version
# mvn -version