ASM JAR - Por que meu projeto Java depende disso?
-
22-09-2019 - |
Pergunta
Eu tenho um projeto Java e internamente depende de asm jar
. Estranhamente, eu nem sei por que meu projeto de alguma forma depende dessa biblioteca (pode ser trazido pelo MAVEN como uma dependência transitiva)?
Alguém pode me ajudar a saber Por que alguém precisa de jar asm?
Desde já, obrigado !
EDITAR:Você também pode mencionar quais fins/casos de uso necessários podem precisar do ASM Jar?
Solução
ASM é uma estrutura de manipulação de bytecode (ver esta página Para uma boa introdução) e é usado por muitas coisas que apresentam ... manipulação de bytecode: estruturas usando geração e reflexão de proxy (mola, hibernada, etc), estruturas zombeteiras (Easymock, Jmock, etc), ferramentas de análise de código (PMD, FindBugs, etc). Na verdade, o projeto ASM mantém uma lista de usuários Organizado por categoria, confira.
Como mencionado por Vincent, se você depende de transmissão no ASM, o dependency:tree
objetivo ou o Relatório de dependência (Veja os links PMD e FindBugs acima para exemplos) pode ajudar a analisar a situação e descobrir de onde vem. Mas isso não levará em consideração as dependências dos plugins do Maven que você está usando, apenas dependências do seu projeto.
Outras dicas
MAVEN-2 Requer asm.jar
Para compilar e executar o aplicativo.
Aqui Para maiores informações.
EDITAR:
Devido aos muitos usos possíveis de análise de análise, geração e técnicas de transmissão, muitas ferramentas para analisar, gerar e transformar programas foram implementadas, para muitos idiomas, incluindo Java. O ASM é uma dessas ferramentas para o idioma Java, projetado para o tempo de execução - mas também offline - geração e transformação de classe. A biblioteca ASM1 foi, portanto, projetada para funcionar nas classes Java compiladas. Também foi projetado para ser o mais rápido e pequeno possível. Ser o mais rápido possível é importante para não diminuir muito os aplicativos que usam o ASM em tempo de execução, para geração ou transformação dinâmica de classe. E ser o menor possível é importante para ser usado em ambientes restritos à memória e evitar inchaço o tamanho de pequenas aplicações ou bibliotecas usando ASM. O ASM não é a única ferramenta para gerar e transformar as classes Java compiladas, mas é uma das mais recentes e eficientes. Pode ser baixado de http://asm.objectweb.org. Suas principais vantagens são as seguintes: 1) possui uma API simples, bem projetada e modular que é fácil de usar. 2) Está bem documentado e possui um plug -in de eclipse associado. 3) Ele fornece suporte para a mais recente versão Java, Java 6. 4) É pequeno, rápido e muito robusto. 5) Sua grande comunidade de usuários pode fornecer suporte para novos usuários. 6) Sua licença de código aberto permite usá -la de quase da maneira que desejar.
Encontrado de isto ficheiro PDF. Estou com a impressão de que, juntamente com o Java EE 6, também veio uma ferramenta embutida, ASM para geração e transformação de classe. O PDF fornece detalhes em maior profundidade sobre o ASM.
Espero que isto ajude.
Que outras dependências seu projeto tem? Eu suspeito que um dos frascos que você decidiu que precisa (por exemplo, primavera ou hibernate) em si requer asm.jar?
É possível usar o plugin de dependência Para o MAVEN ver qual biblioteca possui ASM como uma dependência.