我尝试在Windows上使用Java版本8运行此命令。
java -cp soot.jar soot.Main -cp ".;C:\Program Files\Java\jre1.8.0_151\lib\rt.jar" Example_4
我一直在: 线程“main”中的异常java.lang.Error:错误:无法加载java.lang.CharSequence。只有当我将System.out.print这样的行作为源代码的一部分时,才会发生这种情况。否则它工作正常。
源代码
package ExampleCodes;
public class Example_4
{
public static void main(String[] args)
{
int a = 10;
a++;
if(a<10)
a--;
else
a++;
int b = a + a;
System.out.println(a);
}
}
答案 0 :(得分:1)
请使用Soot直接分析* .class文件(推荐,因为soot的Java前端已过时),或将JDK降级到7。
答案 1 :(得分:0)
为了解析对System.out.println
的调用,Soot需要解析它所依赖的所有基本Java类,包括CharSequence
。
您可以使用-pp
选项,而不是在-cp
中传递rt.jar。然后,Soot将从您计算机上的Java安装中自动检索rt.jar。