編譯打包部署區別
『壹』 我想問下打包解包jar與編譯反編譯jar意思一樣嗎
jar其實就是Zip格式的壓縮包,打包/解包,其實就是壓縮本質上就是壓縮與解壓縮,包內的文件是Class文件編譯/反編譯 就不一樣了,是把java源文件與Class文件相互轉換.
『貳』 怎麼用命令行編譯,打包,運行java
一、編譯:從.java生成.class
(1)eclipse編譯:
在菜單欄里選擇"項目"→"構建"/"自動構建",就會在workspace的項目里的bin目錄下自動生成.class文件,不需要手動一個個去編譯。
(2)命令行編譯:
進入src目錄,直接javac com/csdn/javacode/A.java,注意這里一定要寫全路徑com/csdn/javacode(這里一定是/號而非.號),並且.java文件一定要有後綴名!
這樣生成的.class文件和src在同一目錄下,就是在哪個目錄下手動一個個編譯,生成的.class文件就在哪個目錄下。
---------------------------------------------
二、運行:從.class生成.exe
命令行運行:
cd進入bin目錄(eclipse構建生成的一般都在bin目錄下),直接java com.csdn.javacode.EncryptClasses key.data
(運行EncryptClasses.class,輸出到key.data文件里)
-----注意.class文件在命令行里不要帶後綴名!並且路徑要寫全,執行時,包名加路徑時,一定是點號.而非/號!!!
------------------------------------------------------------
三、打包jar:
把零散的.class文件打包為jar:(不是在eclipse里"導出"為jar包)
cd進入要打成jar包的class文件所在目錄:jar cvf [生成jar的名稱.jar] [列出class文件] //若有多個用空格隔開
例1:操作零散的單個或幾個class文件:
cd bin
jar cvf ipaddress.jar com/cn/lbs/IPSeeker.class com/cn/lbs/SplitAddress.class
之後會在bin目錄下生成ipaddress.jar,不過這里jar下面沒有com.csdn.ipaddress包,因為之前沒有創建目錄
例2:把一個文件夾下面所有的class文件打成jar包
(這里讓生成的jar目錄下有com.csdn.ipaddress包,於是在總的文件夾ipaddress下新建文件夾嵌套com\csdn\ipaddress\,裡面放上需要打包的.class文件)
cd回到總的文件夾ipaddress,
jar cvf ipaddress.jar * 回車