• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            杰 & C++ & Python & DM

            命令行下Java的編譯及運(yùn)行(1)


              當(dāng)前大部分開(kāi)發(fā)者在開(kāi)發(fā)Java程序時(shí)使用Eclipse,它可以方便的進(jìn)行程序的編譯、打包和運(yùn)行。但是不使用IDE,在完全的命令行下進(jìn)行Java開(kāi)發(fā)者從未用過(guò)的。在命令行下進(jìn)行開(kāi)發(fā)不是用來(lái)在展現(xiàn)自己有多牛,而是通過(guò)命令行開(kāi)發(fā),可以對(duì)Java的編譯、jar包等各個(gè)部分有一個(gè)深入了解。
              下面的幾篇博客將會(huì)對(duì)Java的編譯、打包和運(yùn)行方法由淺入深的進(jìn)行介紹。
              在這里使用的操作系統(tǒng)是Linux,并提供相應(yīng)的shell和python腳本。

              首先介紹一下三個(gè)常用的命令:javac、jar、java。每個(gè)命令都有不同的參數(shù),這些參數(shù)的用法會(huì)詳細(xì)介紹。

              1. javac
              javac的功能是對(duì)java源代碼進(jìn)行編譯,將后綴為.java的文件編譯為.class的文件。javac的一般格式是
              javac <選項(xiàng)> <源文件>
              例如:
              javac Main.java
              會(huì)產(chǎn)生Main.class文件。
              
              javac的常用選項(xiàng)有:
              -classpath <路徑>      指定查找用戶(hù)類(lèi)文件的位置
              -cp <路徑>                指定查找用戶(hù)類(lèi)文件的位置(與上面的選項(xiàng)一樣,cp是classpath的簡(jiǎn)寫(xiě))
              -d <目錄>                指定存放生成的類(lèi)文件的位置

              2.jar
              jar的功能是根據(jù)選項(xiàng)將指定的一些.class文件打包為一個(gè)jar包。jar的一般格式是
              jar {ctxui}[vfm0Me] [jar-文件] [manifest-文件] [-C 目錄](méi) 文件名 ...
              例如,
              jar cvf Test.jar Main.class Bar.class
              它將Main.class和Bar.class打包為一個(gè)文件Test.jar。

              jar命令的選項(xiàng)比較多,用到選項(xiàng)包括:
              -c  創(chuàng)建新的歸檔文件
              -t  列出歸檔目錄
              -x  從檔案中提取指定的 (或所有) 文件
              -u  更新現(xiàn)有的歸檔文件
              -v  在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出
              -f  指定歸檔文件名
              -m  包含指定清單文件中的清單信息
              -e  為捆綁到可執(zhí)行 jar 文件的獨(dú)立應(yīng)用程序,指定應(yīng)用程序入口點(diǎn)
              -C  更改為指定的目錄并包含其中的文件,如果有任何目錄文件, 則對(duì)其進(jìn)行遞歸處理。

              例如,
              上例中的cvf參數(shù),分別表示創(chuàng)建新的jar文件、創(chuàng)建時(shí)顯示jar包的信息(可以執(zhí)行看一下)、指定jar包名為T(mén)est.jar。
              jar tf Test.jar      查看Test.jar的內(nèi)容,其中t表示列出jar包內(nèi)容,f指定jar包名
              jar xf Test.jar      解壓Test.jar文件
              jar xf Test.jar Main.class      僅解壓Test.jar中的Main.class文件
              這里要指出的是,f/m/e都指定一個(gè)名稱(chēng)(jar包名, 清單文件名和入口點(diǎn)名稱(chēng)),相應(yīng)的名稱(chēng)順序與參數(shù)的順序要一致。

              3.java
              java的功能是執(zhí)行應(yīng)用程序。java的一般格式是
              執(zhí)行一個(gè)類(lèi):    java [ options ] class [ argument ... ]
              執(zhí)行一個(gè)jar包:java [ options ] -jar file.jar [ argument ... ]
              例如:
              java Main
              執(zhí)行Main.class,注意上面沒(méi)有.class后綴
              java Test.jar
              執(zhí)行一個(gè)jar包,這個(gè)jar包中要指定了程序入口點(diǎn)(通過(guò)在MANIFEST.MF文件中指定)。

              常用的java的選項(xiàng):
              -classpath<類(lèi)搜索路徑>    指定用戶(hù)類(lèi)文件的位置,可能為文件夾、zip、jar文件


              總結(jié)
              通過(guò)這篇內(nèi)容,我們應(yīng)用學(xué)會(huì)了如何使用javac編譯自己的類(lèi),并使用java執(zhí)行自己的類(lèi)。但是關(guān)于打包的操作及jar的執(zhí)行比較復(fù)雜,將在以后繼續(xù)介紹。


              

            posted on 2012-08-22 15:45 jaysoon 閱讀(636) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類(lèi)

            隨筆檔案

            文章分類(lèi)

            文章檔案

            收藏夾

            C++

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久一本精品99久久精品88| 亚洲欧美精品一区久久中文字幕| 久久亚洲精品成人AV| 亚洲愉拍99热成人精品热久久| 热re99久久精品国99热| 99热热久久这里只有精品68| 国产精品久久久久久久久软件| 日韩久久久久久中文人妻| 国产精品久久久99| 亚洲中文字幕无码久久综合网| 亚洲午夜久久影院| 久久国产色AV免费观看| 久久天天躁狠狠躁夜夜avapp| 91精品国产综合久久香蕉| 无码人妻精品一区二区三区久久久 | 草草久久久无码国产专区| 亚洲色欲久久久综合网| 久久久精品日本一区二区三区| 久久99国产精品久久99| 亚洲国产精品无码久久98| 中文字幕久久精品| 久久久久香蕉视频| 久久99精品国产99久久6| 91精品国产综合久久四虎久久无码一级| 奇米综合四色77777久久| 久久久亚洲裙底偷窥综合| 久久久久18| 色天使久久综合网天天| 久久天天躁狠狠躁夜夜不卡| 久久久久国产精品麻豆AR影院| 国产精品九九久久精品女同亚洲欧美日韩综合区| 国产午夜福利精品久久2021 | 久久精品国产亚洲精品2020| 97久久国产综合精品女不卡| 97精品依人久久久大香线蕉97| 国产精品成人久久久| 久久人妻少妇嫩草AV蜜桃| 无码国产69精品久久久久网站| 嫩草伊人久久精品少妇AV| 国产精品福利一区二区久久| 伊人色综合久久天天|