在使用 Java 開發(fā)時(shí),我們經(jīng)常會(huì)用到 Java 命令來(lái)運(yùn)行 Java 程序。Java 命令有兩種形式:java -cp 和 java -jar。兩者都可以用來(lái)運(yùn)行 Java 類或者 Java 應(yīng)用程序,但它們的作用有些不同。
java -cp 命令是指定 Java 運(yùn)行時(shí)類路徑的命令,它用來(lái)指定 Java 類文件所在的目錄或者 Jar 包所在的位置。其中,“-cp”是“Class Path”的簡(jiǎn)寫。以下是使用 java -cp 命令的示例:
java -cp c:\myapp MyApp
這個(gè)命令會(huì)在 c:\myapp 目錄下查找 MyApp 類的字節(jié)碼文件并執(zhí)行。這個(gè)命令將 c:\myapp 添加到了 Java 運(yùn)行時(shí)的 classpath 中。
java -jar 是指定運(yùn)行的應(yīng)用程序 Jar 包的命令,它與 -cp 命令的最大區(qū)別是指定的是一個(gè) Jar 包,而不是一個(gè)目錄。以下是使用 java -jar 命令的示例:
java -jar myapp.jar
這個(gè)命令將運(yùn)行 myapp.jar 中的主類,也就是 MANIFEST.MF 文件中 Main-Class 屬性指定的類。在這個(gè) Jar 包中,必須包含一個(gè)可執(zhí)行的主類,并且必須指定 Main-Class 屬性。
總的來(lái)說(shuō),在使用 java 命令時(shí),如果要執(zhí)行的是一個(gè)單獨(dú)的類文件,可以使用 java -cp 運(yùn)行;如果要執(zhí)行一個(gè)包含多個(gè)類文件的 Jar 包,則使用 java -jar 命令運(yùn)行。