首页 > 解决方案 > Java 的 CLASSPATH 如何在 Mac 上使用?

问题描述

我目前正在从一本书中学习java,我刚刚接触到了包。我一直将所有文件保存在桌面上,并从 Mac 的终端控制台编译/运行程序。

John-MacBook-Pro:~ john$ cd desktop
John-MacBook-Pro:desktop john$ javac Learning.java.   
John-MacBook-Pro:desktop john$ java Learning

.... program executes and so on .....

现在我将.java文件保存到一个包中(创建一个新文件夹)。让我们称这个包为“书”,我被告知现在运行这样的程序:

 javac book/Learning.java
 java book.Learning

当然,当我有一个文件夹时,这很有效,但是当子类和更多包被添加到该书文件夹中时,我如何更深入地编译东西?更不用说之后如何运行它们?

这本书可能假设了先验知识,所以它只是直接潜入并告诉我在尝试之前在我的 Macbook 上进行设置CLASSPATH或使用。-classpath我在终端上尝试了各种命令,有时它似乎可以编译,我必须手动更改目录才能打开每个文件夹(这是很多类型的命令)。尝试运行任何类总是导致找不到类。每个其他答案似乎已经设置了一些基本的东西,或者用我还不理解的术语进行了解释。

标签: javaclass

解决方案


当添加更多类时,您将它们全部编译:

javac book/Learning.java book/chapter/Chapter.java ...

您以完全相同的方式运行主类:

java book.Learning

如果你不在包树根目录所在的包中(即你的桌面目录),你可以在类路径中传递它:

java -classpath /users/Leosam/desktop book.Learning

请注意,它在 macOS 上的工作方式与在任何其他平台上相同。


推荐阅读