簡體   English   中英

在 macOS (Mac OS X) 上打印 Java 類路徑

[英]Print the Java Classpath on macOS (Mac OS X)

在命令行上,如何查看包含當前Java 類路徑的所有文件夾和文件?

Oracle 教程說在類 Unix 系統上使用echo $CLASSPATH 但是在裝有 Java 8 的 Mac (El Capitan) 上,什么也不打印。 我記得,默認情況下,macOS 上不使用CLASSPATH環境變量。

我看到了一些問題,比如這個,顯示設置類路徑,但我只是想驗證類路徑。

從命令行是否有一些簡單的方法來檢查當前的類路徑?

除非您在當前 shell 或登錄配置文件(例如~/.bash_profile )中明確設置CLASSPATH變量,否則無法顯示它是什么。

如果您沒有設置 CLASSPATH,則類路徑的默認值為“.”,這意味着僅搜索當前目錄。 指定 CLASSPATH 變量或 -cp 命令行開關會覆蓋此值。

在 Java 代碼中,使用以下有助於輕松區分: System.out.println(System.getProperty("java.class.path")); System.out.println(System.getProperty("sun.boot.class.path"));

我不確定默認情況下 $CLASSPATH 在 OSX 中是否可用。 但是, $PATH可能會幫助你。 此變量包含有關包含可執行命令的目錄的信息。

在您的 Java 代碼中執行以下操作:

System.out.println(System.class.path);

這列出了 jar 文件(java 平台類)的所有類路徑、項目的類路徑等。類路徑用分號分隔。 Michael Markidis 關於“如果您沒有設置 CLASSPATH,那么類路徑的默認值是“.”是正確的,這意味着只搜索當前目錄。 你應該在這個列表中找到它。

當類存儲在目錄(文件夾)中時,例如 c:\\java\\MyClasses\\utility\\myapp,則類路徑條目指向包含包名稱第一個元素的目錄(在本例中為 C:\\ java\\MyClasses,因為包名是utility.myapp)。

所以如果你使用包,你的應用程序類路徑的結束目錄應該是你的根包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM