当前位置: 首页 > 知识库问答 >
问题:

java无法找到或加载主类

有玄天
2023-03-14

我用的是软呢帽19。HelloWorld的内容。爪哇:

    class HelloWorld {
        public static void main( String args[] ) {
            System.out.println( "Hello World!!" );
        }
    }

我可以使用

javac HelloWorld。JAVA

但我无法使用

java HelloWorld

它给出了以下错误

错误:无法找到或加载主类HelloWorld

但我可以用

sudo java HelloWorld

我错过了什么???

共有3个答案

卢黎明
2023-03-14

这是相当奇怪的。看起来问题是,当您以非特权用户运行java时,它找不到或读取". class"文件。但是当以"root"运行时,你可以。

这表明您设法用错误的所有者和/或权限创建了“HelloWorld.class”文件。

通过运行ls-l HelloWorld检查权限。类。所有者应该是您的用户帐户(而不是“root”),并且您需要用户对该文件的读取权限。

以下是其他几种可能的解释:

>

您可能已经设置了CLASSPATH环境变量,使得当前目录(我假设“HelloWorld.class”所在的位置)不在类路径上。但是当您执行sudo java命令时,java命令运行的环境中没有设置$CLASSPATH。在这种情况下,如果没有-cp参数,您将获得一个默认的类路径,该路径仅由".";即当前目录组成。

如果问题是CLASSPATH环境变量,我建议您取消设置它...并编辑shell的“rc”文件来取消设置。

相反,在java命令上使用'-cp'命令,javac命令等等...并切换到ant或Maven或IDE来构建和运行代码。(或者您可以编写一些小包装脚本作为应用程序启动器。)

不依赖于CLASSPATH环境变量。它很容易给你带来令人不快的惊喜,尤其是当你在编码项目之间切换时。(当然,在您的生产环境中不要依赖它!)

施子民
2023-03-14

亲爱的Pranav Chugh:,

1- cmd - go the directory of located java file

在cmd上运行以下命令

2- javac HelloWorld.java 
3- java HelloWorld             ---- not not add .class

在这里你会得到结果

傅振濂
2023-03-14

您没有设置包含已编译类的类路径<如果不告诉代码>java在哪里可以找到任何类。

试试java-cp。HelloWorld

这里有消息来源

我不知道为什么它能和sudo一起工作。我的猜测是,CLASSPATH是为根用户设置的,而不是为当前用户设置的。

 类似资料:
  • 问题内容: 我正在尝试使用Gradle运行一个非常简单的项目,并在使用时遇到以下错误: 这是我的文件结构: 我排除了libs和tmp文件夹的内容,因为我认为这与该问题无关,但是我可以在需要时添加它。 这是我的build.gradle文件: 关于如何解决此问题的任何想法?我已经为mainClassName属性尝试了各种方法,但似乎没有任何效果。 问题答案: 我在这里看到两个问题,一个与另一个有关。

  • 我的java应用程序编译有问题。 编译器说:

  • 我是按照Spring的教程,一切都工作正常,直到我克隆我的项目,现在克隆的项目和原来的项目不想工作,我已经搜索槽整个堆栈溢出类似的问题,我无法解决这个问题,我已经清理了项目,重新启动eclipse,更新,添加和删除依赖项从pom.xml似乎没有什么工作。 这是我的主要课程: Beans.xml: 波姆。xml: 正如我所说,当我在同一个工作区复制粘贴项目时,一切都开始失败,当然我更改了名称。 这个

  • 我知道这个问题已经被回答过很多次了,但不幸的是我找不到我的问题的正确答案。 以下是我的软件包结构,在我的软件包中,我有简单测试.java d: \junit\src\junitfaq\SimpleTest.java 在d:\junit\src内部 d:\junit\src 但是当我尝试使用下面的命令行运行程序时 d:\junit\src 发生了此错误。错误:无法找到或加载主类junitfaq.Si

  • 当我用这个命令“java-jarepsilon-1.0.jar”启动我的. jar时,他说“无法找到或加载主类net.epsilon.app.Main” 请帮帮我。非常感谢。 对不起,我不是英国人。

  • 我使用的是Eclipse最新版本,每次我以“Java应用程序”的形式运行这个简单代码时,都会遇到错误“找不到或加载主类”。我是新来的,所以对Java知之甚少。我期待着一些帮助,请详细说明。运行配置窗口截图Buildpath配置截图。窗