【问题标题】:Error trying to calculate CKJM in Java classes尝试在 Java 类中计算 CKJM 时出错
【发布时间】:2021-07-27 18:55:58
【问题描述】:

我正在尝试使用 ckjm 1.9 在 java 中计算 Chidamber 和 Kemerer 面向对象的指标,但我在某些类中遇到此错误。

java -jar freecol/ckjm-1.9/build/ckjm-1.9.jar 
freecol/out/production/freecol/net/sf/freecol/common/resources/ImageResource.class
Exception in thread "main" org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in 
constant pool: 18
    at org.apache.bcel.classfile.Constant.readConstant(Constant.java:146)
    at org.apache.bcel.classfile.ConstantPool.<init>(ConstantPool.java:67)
    at org.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:222)
    at org.apache.bcel.classfile.ClassParser.parse(ClassParser.java:136)
    at gr.spinellis.ckjm.MetricsFilter.processClass(Unknown Source)
    at gr.spinellis.ckjm.MetricsFilter.main(Unknown Source)

这是我正在分析的 FreeCol 代码库:

https://github.com/FreeCol/freecol

我在 IntelliJ IDEA Community 2020.2 中使用终端。有谁知道如何解决这个错误?

【问题讨论】:

    标签: java class metrics bcel


    【解决方案1】:

    我遇到了同样的问题。我通过成功构建项目解决了它,错误消失了。

    【讨论】:

    • 如何构建它?用哪个设置?很高兴您尝试回答这个问题,但没有更多细节,这只是一个“平庸”的评论,但不足以成为一个真正的答案。
    • 需要解决字节码问题才能回答这个问题
    • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
    • 这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 2021-10-17
    • 1970-01-01
    • 2021-01-28
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多