Java應用程序打包成jar包的好處是,您可以在不同的平台和Java虛擬機(JVM)版本上運行它,而無需擔心依賴性。與此同時,命令行運行jar包也變得非常重要和實用。在本篇文章中,我們將從多個角度展示如何從命令行運行jar包。
一、命令行運行War包
如果您使用的是Maven構建工具,那麼生成的是以war包的形式進行部署和運行。那麼如何在命令行中運行war包呢?
java -jar yourapp.war
上面的命令是在當前目錄下運行了名為yourapp.war的war包。Java會根據當前系統的配置自動啟動一個HTTP伺服器,然後您就可以在瀏覽器中輸入http://localhost:8080訪問該應用程序了。
二、命令行運行Jar文件
當我們使用Maven或Gradle等構建工具構建出一個jar文件後,如何在命令行中運行它呢?
java -jar yourapp.jar
運行上述命令,Java將會在當前目錄下運行名為yourapp.jar的jar文件。當然,前提是該jar文件中包含了Main-Class屬性或者您在運行時手動指定了啟動類。這裡需要注意的是如果您的jar包依賴了其他jar包,您需要使用「-classpath」或「-cp」參數來指定依賴的jar包路徑。
三、運行Jar包命令
在Windows命令行或者Linux終端中運行jar包也非常簡單。只需要遵循下面的命令格式即可:
> java -jar path/to/yourapp.jar
其中,「>」代表了您在命令行中的當前目錄。這條命令表示運行名為yourapp.jar的jar包。
四、CMD運行Jar包命令
在Windows下,您也可以使用命令提示符(cmd)開啟jar文件。使用下面的命令:
> start javaw -jar yourapp.jar
這個命令同樣會在當前目錄下運行名為yourapp.jar的jar包。不過與前面不同的是,使用start命令會啟動javaw.exe進程在後台默默地運行它。這在某些場景下非常有用,比如您用cmd打開jar包後,可以立即退出而不影響該進程的運行。
五、命令行執行Jar包 classpath
我們在運行jar包時,有時因為需要引用其他jar包或類路徑等問題,而需要手動指定classpath路徑。使用如下的命令執行:
java -classpath path/to/lib1.jar:path/to/lib2.jar -jar yourapp.jar
其中,「path/to/lib1.jar」和「path/to/lib2.jar」代表了jar包所依賴的其他jar包的路徑,可以使用冒號分隔多個路徑。這樣Java就能夠正確地找到和載入應用程序所需的所有類了。
六、命令行打Jar包
當您在開發Java應用程序時,可能需要將多個文件打包為一個單獨的jar包。下面是一些示例命令:
> jar cvf MyJar.jar *
> jar cvf MyJar.jar com/mycompany/MyClass.class
> jar cvf MyJar.jar -C /path/to/dir com/mycompany/MyClass.class com/mycompany/MyClass2.class
第一個命令將在當前目錄下將所有文件打成一個名為MyJar.jar的jar包。第二個命令將只包含com/mycompany/MyClass.class類文件。第三個命令將指定目錄path/to/dir中的所有文件,並且只包含com/mycompany/MyClass.class和com/mycompany/MyClass2.class兩個類文件。
七、命令行運行Jar
在Linux和Unix系統中,還有另外一種方式運行jar包:
> chmod +x yourapp.jar
> ./yourapp.jar
上述命令首先賦予yourapp.jar可執行許可權,然後在同一行代碼中使用”./yourapp.jar”命令執行。這種方式執行的優點是不需要輸入命令前的「java -jar」命令。
八、執行Jar文件的命令
如果需要以普通的Java程序方式來執行jar文件,可以這樣做:
> java -cp yourapp.jar your.package.name.MyClass
上述命令表示執行yourapp.jar包中,your.package.name.MyClass類的main方法。
九、Jar包啟動命令
你也可以使用下面的命令來啟動jar包:
> java -Xmx256m -jar MyApp.jar
這個命令可以讓您指定Java虛擬機堆空間的最大內存為256MB,並且使用「-jar」參數執行MyApp.jar包。
十、Windows停止Jar包運行命令
在Windows系統中,有時您需要停止運行中的jar包。可以使用下面的命令:
> jps
> taskkill /F /PID xxxxx
第一條命令會顯示所有正在運行的Java進程的進程ID。您可以從中選擇需要停止的jar包的PID然後將其輸入第二條命令中進行停止。
這就是關於命令行運行jar包的詳細解釋了。希望這篇文章能夠對您有所幫助,讓您更加熟練地從命令行運行jar包。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241035.html