【问题标题】:java - MAC - Error: Could not find or load main class (name of class)java - MAC - 错误:无法找到或加载主类(类名)
【发布时间】:2016-06-04 19:10:13
【问题描述】:

我正在尝试在我的 Mac 上使用命令提示符运行用 Java 编写的程序,但编译后弹出消息:错误:无法找到或加载主类 TEST。

也许我犯了愚蠢的错误。

这是java程序的代码(我用的是NetBeans):

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package test;

/**
 *
 * @author Kuba
 */
public class TEST {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println(“Hello”);
    }

}

这是来自我的命令行:

>     Last login: Sat Jun  4 18:35:23 on ttys000
>     Jakub-MacBook-Pro:~ Kuba$ ls
>     Applications      Library         Pictures
>     Desktop           Movies          Public
>     Documents     Music           VirtualBox VMs
>     Downloads     NetBeansProjects
>     Jakub-MacBook-Pro:~ Kuba$ cd NetBeansProjects/
>     Jakub-MacBook-Pro:NetBeansProjects Kuba$ ls
>     JavaApplication1  TEST
>     Mocnina           VypocetObvoduaObsahu
>     Jakub-MacBook-Pro:NetBeansProjects Kuba$ cd TEST
>     Jakub-MacBook-Pro:TEST Kuba$ ls
>     build     build.xml   manifest.mf nbproject   src
>     Jakub-MacBook-Pro:TEST Kuba$ cd src
>     Jakub-MacBook-Pro:src Kuba$ ls
>     test
>     Jakub-MacBook-Pro:src Kuba$ cd test
>     Jakub-MacBook-Pro:test Kuba$ ls
>     TEST.class    TEST.java
>     Jakub-MacBook-Pro:test Kuba$ javac TEST.java
>     Jakub-MacBook-Pro:test Kuba$ java TEST
>     Error: Could not find or load main class TEST
>     Jakub-MacBook-Pro:test Kuba$

感谢您的任何建议。 JS

【问题讨论】:

  • 如果您使用的是 NetBeans,为什么要尝试使用命令行编译该类? NetBeans 在窗口顶部有一个编译(构建)和运行选项。

标签: java macos class classpath


【解决方案1】:

Jakub-MacBook-Pro:测试 Kuba$

如果您在文件中定义了包,则必须在包文件夹外运行java 命令并使用包名调用类。

这应该可以解决问题。

cd ../
java test.TEST

搜索classpathThis 也不错。

【讨论】:

  • 它工作正常,但为什么我不能在 TEST 文件夹中运行?
  • 可以,但还是需要设置类路径。例如,这应该在test 文件夹java -cp ".." test.TEST 中工作。请阅读一些有关它的手册。这是Java的基础。希望对您有所帮助。
【解决方案2】:

试试reinstalling your JDK。有时当这种情况发生时,您的 JDK 无法定位。确保它与 IDE 所在的文件夹位于同一文件夹中。

【讨论】:

  • 我重新安装 JDK 但同样的错误。我不知道你的意思 - “确保它与你的 IDE 位于同一文件夹中” - 你的意思是 TEST.java 文件必须在 IDE 文件夹中?
  • 与JDK无关。
【解决方案3】:

试试这个:java -cp。在 .class 所在的文件夹上进行测试。 -cp 表示类路径。您还可以将 TEST 所在的文件夹添加到 CLASSPATH 环境变量中,然后运行: java TEST 。基本上问题是java找不到TEST类

【讨论】:

  • TEST.class 位于test/ 文件夹中。如果在该文件夹中运行java -cp . TEST 命令,将显示相同的错误Error: Could not find or load main class TEST。你的答案不正确。
  • 好的。试试这个:CLASSPATH=$CLASSPATH:/test,在导出 $CLASSPATH 之后,最后是 java TEST
  • 你为什么要这样做?您可以从命令行运行 java 应用程序而无需更改 CLASSPATH。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 2015-02-25
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多