linux上通過javac如何編譯運行帶有包名和jar包的類

前言:開發的時候基本都是在window上開發的,但是代碼中有時會因爲操作系統的不同,產生不一樣的結果。這個時候呢,就需要我們在出現問題的機器上測試。然而我寫的是一個web項目,每次測試都需要啓動tomcat,在通過鏈接去訪問測試,還得看後天的日誌,真的好麻煩。在初學java的時候,老師教過通過javac編譯,在通過java運行。我想我可不可以在linux上也這麼操作呢。一起來測試下。

一、操作帶有package的類。

按照原來老師教的步驟,顯示javac,接着java

 

但是一運行報錯。(這裏如果把類的package去掉,在通過javac,java是能運行的),提示找不到這個類。如何解決呢:在javac中有一個 -d 參數,他的作用是由系統自動生成包名。

 

通過java運行時,一定要記得類要跟着包名

java com.services.Hello

成功運行了

二、操作帶有jar包的類(這裏所說的jar包,就是類中引入了jar包裏面的類)

比如我引入了aspose-cells-8.5.2.jar中的ImageOrPrintOptions類。我們要通過cp去引入jar包

 

javac -encoding GBK -cp ".:/home/testjava/asponse2pic/lib/aspose-cells-8.5.2.jar" -d . Excel2Pic.java

運行的時候,也要加上jar包

java -cp ".:/home/testjava/asponse2pic/lib/aspose-cells-8.5.2.jar" com.services.Excel2Pic

三、既引入jar包,還引入自己定義的其他的類。

如圖:SettingLicense是我自定義的類

 

javac -encoding GBK -cp ".:/home/testjava/asponse2pic/lib/aspose-cells-8.5.2.jar" -d . Excel2Pic.java ../utils/SettingLicense.java

 
java -cp ".:/home/testjava/asponse2pic/lib/aspose-cells-8.5.2.jar" com.services.Excel2Pic

總結:這種方式還是感覺很麻煩,jar包和自定義的類少還好說,但是多了還真是挺費事的。如果有人有更好的辦法,可以分享下。

有喜歡的朋友可以關注下頭條號《老徐聊技術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章