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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top