我目前正在从一本书中学习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
文件保存到一个包中(创建一个新文件夹)。让我们将包称为“ book”,并被告知现在要运行这样的程序:
javac book/Learning.java
java book.Learning
当然,当我有一个文件夹时,此方法有效,但是当子类和更多包添加到该书夹中时,我该如何深入编译内容?更不用说以后如何运行它们了?
这本书可能具有先验知识,因此请尝试深入学习并告诉我在Macbook上设置CLASSPATH
或使用-classpath
。我已经在终端上尝试了各种命令,并且有时似乎必须在手动更改目录以打开每个文件夹的情况下进行编译(这是很多类型的命令)。尝试运行任何类总是会导致找不到类。其他所有答案似乎都已经具备一些基本的设置,或者用我尚不了解的术语进行了解释。
答案 0 :(得分:-1)
添加更多类后,将它们全部编译:
javac book/Learning.java book/chapter/Chapter.java ...
您可以完全相同的方式运行主类:
java book.Learning
如果您不在包树根所在的包(即您的桌面目录)中,请在类路径中传递它:
java -classpath /users/Leosam/desktop book.Learning
请注意,它在macOS上的工作方式与在任何其他平台上相同。