使用CLASSPATH,Java和从zsh编译

问题描述 投票:0回答:1

我正在尝试从以下目录中的工作区编译和运行Java文件:

/用户/拍摄和/爪哇/工作区/ COMP30820>

目录内是src和bin目录,src文件夹包含我的包。如果我使用集成终端在VSCode中运行.java文件,它会找到我导入的包,但如果我使用zsh(或bash)从终端运行它,则找不到包。我知道这与CLASSPATH有关,但是我尝试了在zshrc文件中导出它的许多不同方法,但我仍然没有运气。我的JAVA_HOME变量正在正确导出。

这是我正在尝试做的一个例子:

package test_import;

import test_package.Test;


public class Importer {

public static void main(String[] args) {
    Test i = new Test();
    i.hello();
}
}

哪个使用这个包:

package test_package;

public class Test {

    public static void hello(){
        System.out.println("Hello there");
    }
}

test_import和test_package都直接位于src文件夹中。

如果我然后从test_import目录运行Importer.java,我希望看到“Hello there”打印出来。

如果我在VS Code中运行它,它可以工作,但从任何其他终端它没有,我得到以下错误:

Importer.java:3: error: package test_package does not exist
import test_package.Test;
                   ^
Importer.java:11: error: cannot find symbol
        Test i = new Test();
        ^
  symbol:   class Test
  location: class Importer
Importer.java:11: error: cannot find symbol
        Test i = new Test();
                     ^
  symbol:   class Test
  location: class Importer
3 errors
error: compilation failed

有人能告诉我如何在这个实例中正确设置类路径吗?

java visual-studio-code classpath zsh
1个回答
0
投票

非常感谢Elliot - “你应该运行java test_import.Importer;你运行它的目录无关紧要。你指的是一个文件;不是一个类。”

运行该文件的正确方法是java test_import.Importer。

© www.soinside.com 2019 - 2024. All rights reserved.