gpt4 book ai didi

java - 尝试使用 SOOT 时出现 NoClassDefFoundError 异常

转载 作者:行者123 更新时间:2023-12-01 05:29:20 25 4
gpt4 key购买 nike

我正在尝试使用 SOOT 生成调用图。但是,当我向它传递一些要分析的类时,会引发异常 NoClassDefFoundError 。我使用以下两个教程来执行一些命令: http://www.brics.dk/SootGuide/sootsurvivorsguide.pdfhttp://www.bodden.de/2008/08/21/soot-command-line/#obtaining .

我已将要分析的java源代码放在SOOT的同一类路径中。所以当我要执行时,我使用了“。”指定当前目录。以下是我正在执行的命令:

java -cp jasminclasses-2.5.0.jar:sootclasses-2.5.0.jar:plyglot-1.3.5.jar:.soot.Main -cp . MainFrame

即使我忽略 -cp 并立即调用 MainFrame,也会生成相同的错误。

有谁知道为什么会抛出这种异常?

最佳答案

第一个类路径字符串看起来很奇怪,实际上您没有调用 soot.Main 类。尝试一下:

java -cp jasminclasses-2.5.0.jar:sootclasses-2.5.0.jar:plyglot-1.3.5.jar soot.Main -cp . MainFrame

编辑

关于您的最后一条评论,它看起来像是一个典型的类路径错误。

如果您执行上面问题中的行,Java会尝试启动类MainFrame(默认包)中的main方法 - 并且找不到那个类。使用我的(正确的!)命令,java 尝试找到 soot.Main

再次仔细检查您的类路径:您必须提供正确的库路径。实际命令期望所有三个库加上 MainFrame.class 都位于当前目录中。

关于java - 尝试使用 SOOT 时出现 NoClassDefFoundError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com