当我尝试使用javap时,出现“错误:未找到类”的提示。

4

我试图查看我的类的字节码,但即使.class文件存在,也找不到该类。 我可以从CLI中编译Main.java文件,但是当使用javap -c Main时,它找不到该类。

public class Main {
    public static void main(String args[]) {
        int Y = 0;
        int X = (Y + 4) * 3;
    }
}

@madhead 是的。我的问题是,是否实际上没有包,并且类路径是否正确;当存在类路径问题时,这是一个明显的问题。 - Dave Newton
@DaveNewton 我已经测试了这段代码。没有包也很好用。而且javac/javap也可以正常工作。 - madhead
@DaveNewton 错误信息可能表明OP从另一个目录运行了javap。或者OP在代码中有包,但没有在这里发布。但对于发布的代码,一切都很顺利。 - madhead
@madhead... 这可能是一个包或类路径问题,这就是我说的。我不确定你的问题是什么。 - Dave Newton
那么我该如何解决类路径和包问题呢? - Schwarz
显示剩余4条评论
1个回答

8
如果类在默认包中,并且您在Main.class文件所在的目录中,则使用:
javap -cp . -c Main

如果您的类在包 com.foo.bar 中,则进入 Main.class 文件所在的目录(bar),然后执行以下命令:

bar> cd ..
foo> cd ..
com> cd ..
> javap -cp . com.foo.bar.Main

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接