Java arch 上的类路径问题 linux

Java classpath issues on arch linux

为了让任何 java 程序成为 运行,我必须执行以下步骤:

javac program.java
java -cp .  program

echo $CLASSPATH的输出是=/usr/share/java/
我想知道为什么我每次都必须手动指定类路径以及如何解决这个问题。 我正在使用带有 openjdk8 的 archlinux。我用openjdk9也遇到了同样的问题。
感谢任何有关该主题的帮助。

您已将 $CLASSPATH 设置为 /usr/share/java,因此 java 将不再在当前目录中查找。 要解决此问题,您可以 运行 unset CLASSPATH 暂时取消设置环境变量。

根据您是否需要 $CLASSPATH 指向 /usr/share/java,您可以删除有问题的行(类似于 export CLASSPATH=/usr/share/java)或添加行 export CLASSPATH=.:$CLASSPATH在文件末尾,无论您在哪里设置环境变量(例如 ~/.bashrc~/.zshenv、...)。

比照。 https://wiki.archlinux.org/index.php/environment_variables