烟尘。SootResolver$SootClassNotFoundException: 找不到类: kotlin.元数据(您的烟灰类路径设置是否正确?



我正在尝试使用烟尘来分析kotlin项目。我写了一个HelloWorld。Kt脚本并编译它。我把下面的代码片段:

fun main(args: Array<String>) {  
println("Hello World!")         
}

但是,当我使用烟尘生成它的.class文件的CFG时,我得到这样的错误:

soot.SootResolver$SootClassNotFoundException: couldn't find class: kotlin.Metadata (is your soot-class-path set properly?)
at soot.SootResolver.bringToHierarchyUnchecked(SootResolver.java:246)
at soot.SootResolver.bringToHierarchy(SootResolver.java:222)
at soot.SootResolver.bringToSignatures(SootResolver.java:293)
at soot.SootResolver.processResolveWorklist(SootResolver.java:180)
at soot.SootResolver.resolveClass(SootResolver.java:142)
at soot.Scene.loadClass(Scene.java:1001)
at soot.Scene.loadClassAndSupport(Scene.java:988)
at soot.Scene.loadNecessaryClass(Scene.java:1790)
at soot.Scene.loadNecessaryClasses(Scene.java:1802)
at soot.Main.run(Main.java:241)
at soot.Main.main(Main.java:141)
at soot.tools.CFGViewer.main(CFGViewer.java:101)

我刚刚执行了以下命令:

java -cp sootclasses-trunk-jar-with-dependencies.jar soot.tools.CFGViewer -cp . -pp Helloworld

我找不到我的错误是什么。你能帮帮我吗?

你必须将kotlin jars添加到soot的类路径中才能使其工作

-cp .:$HOME/Downloads/kotlinc/lib/kotlin-stdlib.jar:$HOME/Downloads/annotations-23.0.0.jar -pp

PS注释可从https://mvnrepository.com/artifact/org.jetbrains/annotations

下载

相关内容

最新更新