我有一个 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?

scroll top