gpt4 book ai didi

java - 无法加载类文件

转载 作者:行者123 更新时间:2023-12-01 11:57:45 24 4
gpt4 key购买 nike

当我尝试运行 Java 程序时,出现以下运行时异常

Exception in thread "main" java.lang.RuntimeException: Could not load    classfile: java.util.concurrent.ConcurrentMap
at soot.coffi.Util.resolveFromClassFile(Util.java:75)
at soot.CoffiClassSource.resolve(CoffiClassSource.java:39)
at soot.SootResolver.bringToHierarchy(SootResolver.java:215)
at soot.SootResolver.bringToSignatures(SootResolver.java:239)
at soot.SootResolver.bringToBodies(SootResolver.java:280)
at soot.SootResolver.processResolveWorklist(SootResolver.java:150)
at soot.SootResolver.resolveClass(SootResolver.java:124)
at soot.Scene.tryLoadClass(Scene.java:417)
at soot.Scene.loadBasicClasses(Scene.java:990)
at soot.Scene.loadNecessaryClasses(Scene.java:1061)
at soot.Main.run(Main.java:167)
at soot.Main.main(Main.java:141)

使用的命令是

java -cp soot-csi.jar:../lib/soot-2.5.0.jar blah.soot.SomeClass

由于ConcurrentMap是基本JRE类之一,我认为这是由于jdk中无法找到/存在rt.jar文件引起的。因此,我检查了 $JAVA_HOME 变量,它确实指向 rt.jar 位于 lib 文件夹内的 JDK。所以结构是这样的。

/usr/lib/jvm/java-1.7.0-openjdk.x86_64/lib/rt.jar
where $JAVA_HOME = /usr/lib/jvm/java-1.7.0-openjdk.x86_64

有人知道如何解决这个问题吗?

最佳答案

尝试使用 java 可执行文件的绝对路径,例如

$ /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/java -cp ...

可能只有一个 java 执行不包含 ConcurrentMap 的旧版本。

关于java - 无法加载类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28230434/

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