Atualmente estou trabalhando em um aplicativo J2ME polonês, apenas aprimorando-o. Estou encontrando dificuldades para obter a versão exata do arquivo jar. Existe alguma maneira de encontrar a versão do arquivo jar para as importações feitas na aula? Quer dizer, se você tiver alguma coisa, importe xyz; podemos saber a que versão do pacote jar xy pertence?
jar
version
executable-jar
Ritesh Mengji
fonte
fonte
sqljdbc42.jar
arquivos que usei com o Cognos, mas o Cognos é capaz de relatar uma versão (4.2.6420.100). De onde ele está obtendo essa versão se não estiver gravada no manifesto?Você precisa descompactá-lo e verificar seu
META-INF/MANIFEST.MF
arquivo, por exemploou mais específico:
fonte
Apenas para expandir as respostas acima, dentro do arquivo META-INF / MANIFEST.MF no JAR, você provavelmente verá uma linha:
Manifest-Version: 1.0
← Este NÃO é o número das versões do jar!Você precisa procurar
Implementation-Version
qual, se presente, é uma string de texto livre que depende inteiramente do autor do JAR quanto ao que você encontrará lá. Consulte também documentos da Oracle e especificações de versão do pacotefonte
Apenas para completar a resposta acima.
O arquivo de manifesto está localizado dentro do jar no
META-INF\MANIFEST.MF
caminho.Você pode examinar o conteúdo do jar em qualquer arquivador que suporte zip.
fonte
Cada versão do jar possui uma soma de verificação exclusiva. Você pode calcular a soma de verificação para seu jar (que não tinha informações de versão) e compará-la com as diferentes versões do jar. Também podemos pesquisar um jar usando checksum.
Consulte esta pergunta para calcular a soma de verificação: Qual é a melhor maneira de calcular a soma de verificação de um arquivo que está em minha máquina?
fonte
Basicamente, você deve usar o
java.lang.Package
classe que usa o carregador de classe para fornecer informações sobre suas classes.exemplo:
Acho que o logback é conhecido por usar esse recurso para rastrear o nome / versão JAR de cada classe em seus rastreamentos de pilha produzidos.
consulte também http://docs.oracle.com/javase/8/docs/technotes/guides/versioning/spec/versioning2.html#wp90779
fonte
Este programa simples irá listar todos os casos para a versão do jar, nomeadamente
Arquivo de manifesto não encontrado
Ele usa o jar javaxt-core, que pode ser baixado em http://www.javaxt.com/downloads/
fonte
Estou atrasado, mas você pode tentar os dois métodos a seguir
usando essas classes necessárias
Esses métodos me permitem acessar os atributos jar. Gosto de ser compatível com as versões anteriores e usar o mais recente. Então eu usei isso
Isso funciona bem quando você está usando o maven e precisa de detalhes do pom para classes conhecidas. Espero que isto ajude.
fonte
Para Linux, tente seguir:
encontrar . -name "YOUR_JAR_FILE.jar" -exec zipgrep "Implementation-Version:" '{}' \; | awk -F ':' '{print $ 2}'
fonte
Se você tiver winrar, abra o frasco com winrar e clique duas vezes para abrir a pasta
META-INF
. ExtrairMANIFEST.MF
eCHANGES
arquivos para qualquer local (digamos desktop).Abra os arquivos extraídos em um editor de texto: Você verá a versão de implementação ou versão de lançamento.
fonte
Você pode filtrar a versão do arquivo MANIFESTO usando
unzip -p my.jar META-INF/MANIFEST.MF | grep 'Bundle-Version'
fonte
Bundle-Version
.Pensei em dar uma resposta mais recente, pois essa pergunta ainda aparece em alta nas pesquisas.
Verificando a versão CLi JAR:
Execute o seguinte no arquivo jar CLi:
Exemplo de saída:
A versão CLi está listada acima.
Para obter a versão do servidor, execute o seguinte:
(o acima irá variar de acordo com sua implementação de autenticação, altere de acordo)
Exemplo de saída:
fonte
Pode ser verificado com um comando
java -jar jarname
fonte
main()
método do JAR