• <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的編譯及運行(1)


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

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

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

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

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

              例如,
              上例中的cvf參數(shù),分別表示創(chuàng)建新的jar文件、創(chuàng)建時顯示jar包的信息(可以執(zhí)行看一下)、指定jar包名為Test.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都指定一個名稱(jar包名, 清單文件名和入口點名稱),相應的名稱順序與參數(shù)的順序要一致。

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

              常用的java的選項:
              -classpath<類搜索路徑>    指定用戶類文件的位置,可能為文件夾、zip、jar文件


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


              

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

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統(tǒng)計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            收藏夾

            C++

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            奇米影视7777久久精品人人爽| 狠狠色丁香久久婷婷综| 日韩美女18网站久久精品| 伊人伊成久久人综合网777| 亚洲精品无码久久久久去q| 看久久久久久a级毛片| 久久精品成人| 看久久久久久a级毛片| 久久se这里只有精品| 亚洲综合熟女久久久30p| 91麻精品国产91久久久久| 久久精品免费一区二区| 国产99久久久国产精免费| 国产成人精品综合久久久| 99热热久久这里只有精品68| 久久国产亚洲精品| 久久精品无码一区二区app| 欧美丰满熟妇BBB久久久| 亚洲AV伊人久久青青草原| 欧美精品一区二区精品久久| 亚洲中文字幕无码久久精品1 | 久久久久无码中| 久久99精品国产一区二区三区| 精品国产乱码久久久久软件| 97久久精品人人澡人人爽| 国产精品久久久天天影视| 婷婷久久久亚洲欧洲日产国码AV| 久久久久国产精品麻豆AR影院 | 青青草国产成人久久91网| 日韩AV无码久久一区二区| 精品久久久无码21p发布| 久久91精品国产91久| 伊人久久国产免费观看视频| 久久国产三级无码一区二区| 久久99国产精品久久99| 久久青青草原国产精品免费| 97久久精品人妻人人搡人人玩| 久久久久人妻精品一区 | 久久久久久久波多野结衣高潮 | 久久精品国产99久久久| 老色鬼久久亚洲AV综合|