ASM jar - 为什么我的 java 项目依赖于此?
-
22-09-2019 - |
题
我有一个 Java 项目,它在内部依赖于 asm jar
. 。奇怪的是,我什至不知道为什么我的项目在某种程度上依赖于这个库(可能由 Maven 作为传递依赖引入)?
谁能帮我知道 为什么有人需要 asm jar?
提前致谢 !
编辑:您还能提到出于什么目的/用例可能需要 asm jar 吗?
解决方案
先进制造商 是一个字节码操作框架(参见 这一页 一个很好的介绍)并且被许多执行的东西使用......字节码操作:使用代理生成和反射的框架(Spring、Hibernate 等)、模拟框架(易模拟, 、JMock等)、代码分析工具(PMD, 查找错误, , ETC)。实际上,ASM 项目维护着一个列表 用户 按类别整理,查看一下。
正如 Vincent 所提到的,如果您过渡依赖 ASM, dependency:tree
目标或 依赖性报告 (有关示例,请参阅上面的 PMD 和 Findbugs 链接)可以帮助分析情况并找出其来源。但这不会考虑您正在使用的 Maven 插件的依赖关系,仅考虑您的项目的依赖关系。
其他提示
Maven的2需要asm.jar
编译和运行该应用程序。
这里获得更多信息。
编辑:
由于程序分析,生成和transfor-的许多可能用途 mation技术,许多工具来分析,生成和转换计划 已经实施,许多语言,Java的包括在内。 ASM是一个 这些工具为Java语言,专为运行 - 而且离线 - 类生成和转化。因此,ASM1库旨在 在编译的Java类的工作。它也被设计来尽可能快和尽可能小 成为可能。作为尽可能快是为了不拖慢重要 太多的应用程序,使用ASM在运行时,动态类根儿 通货膨胀或改造。并且是尽可能小是为了重要 在存储器受约束的环境中使用,并避免腹胀的 的使用ASM小应用程序或库的大小。 ASM不是产生和转化编译的Java的唯一工具 类,但它是最新的和有效的一个。它可以下载 从 http://asm.objectweb.org 。它的主要优点如下: 1)它有一个简单,精心设计和模块化的API,易于使用。 2)这是有据可查并且具有相关联Eclipse插件。 3)它提供了最新的Java版本,Java 6的支持。 4)它具有体积小,速度快,而且非常坚固。 5)其广大的用户群体可以为新用户的支持。 6)它的开源许可,您可以在几乎任何你想要的方式来使用它。
这此 pdf文件实测值。我的印象是,与Java EE 6一起也来到了一个内置的工具,ASM为类生成和转化。该PDF为您提供了详细的有关ASM更加深入。
希望这有助于。
还有什么其他不依赖你的项目有哪些?我怀疑你已经决定了你需要(如Spring或休眠)的罐子之一的本身的要求asm.jar?