jar包的生成和使用简单例子
生活随笔
收集整理的這篇文章主要介紹了
jar包的生成和使用简单例子
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一, 什么是jar包
java中, 源代碼文件是*.java, ? 編譯后就生成若干class文件. ? ? 這些class文件可以被各平臺的jvm虛擬機執(zhí)行.java還提供1個工具, 可以將這些class文件打包成若干個包裹. ?這些包裹就是所謂的jar包了.
二, jar包的作用.
jar包的作用主要分兩點1. ?用于發(fā)布產品. ??
比如你寫了若干個類, 但是并不想公開源代碼, ?你可以把編譯出的class文件打包成jar包, 附加上說明書發(fā)布.
2. ? 方便項目管理
項目中, 可以把公共常用的, 不常改動的class文件按照分類規(guī)則打包成若干個jar包.
三, 如何生成jar包.
下面用1個簡單例子來說明.首先在任意目錄編寫1個簡單的類 Test_jar1.java
package pkg1.pkg2;public class Test_jar1{private int i;public Test_jar1(int i){this.i = i;}public void f(){System.out.printf("Test_jar: i is %d !\n", this.i);} }
可以見到我為這個類添加了1個包層: pkg1.pkg2
也就是說這個類是屬于pkg2包的, 而pkg2包是屬于pkg1包的. ?這里的包可以簡單地理解成文件夾..
接下來在當前目錄執(zhí)行下面的編譯命令:
javac -d . Test_jar1.java
那么命令就會把源代碼文件編譯成Test_jar1.class文件, 并放入pkg1/pkg2文件夾中(自動生成)
gateman@TFPC jar $ tree . |-- pkg1 | `-- pkg2 | `-- Test_jar1.class `-- Test_jar1.java2 directories, 2 files
也就是說 pkg1 這個文件夾就是我們編譯出來的類文件包. ? ? 我們需要把這個文件夾打包成1個jar包.
執(zhí)行如下命令:
jar cvf 包名.jar 你想打包的包目錄
gateman@TFPC jar $ jar cvf Test_jar.jar pkg1/ 已添加清單 正在添加: pkg1/(輸入 = 0) (輸出 = 0)(存儲了 0%) 正在添加: pkg1/pkg2/(輸入 = 0) (輸出 = 0)(存儲了 0%) 正在添加: pkg1/pkg2/Test_jar1.class(輸入 = 581) (輸出 = 378)(壓縮了 34%) gateman@TFPC jar $ ls pkg1 Test_jar1.java Test_jar.jar gateman@TFPC jar $
可以見到執(zhí)行命令后, 當前目錄多了1個Test_jar.jar 文件, ?這個就是生成出來的jar包.
四, 如何使用jar包.
一般項目都有個位置專門存放jar包.在這里我們可以把剛才生成的jar包Test_jar..jar搬到任意位置.
例如我就放在目錄:
/home/gateman/Studies/Java/java_start/Java_1/jar/generated
gateman@TFPC generated $ pwd /home/gateman/Studies/Java/java_start/Java_1/jar/generated gateman@TFPC generated $ ls Test_jar.jar
然后修改/etc/profile , 把這個jar包的full路徑, ?添加到CLASSPATH 這個環(huán)境變量中.
gateman@TFPC Java_1 $ echo $CLASSPATH .:/usr/lib/jvm/java-7-sun/lib:/usr/lib/jvm/java-7-sun/jre/lib:/usr/share/ant/lib/ant-launcher.jar:/home/gateman/Studies/Java/java_start/Java_1/jar/generated/Test_jar.jar
注意要帶上包名
如果是ant編譯運行的, 最好吧包路徑也寫進build.xml中.
然后在編寫1個類測試這個包:
package Package_kng;import pkg1.pkg2.*;public class Pkg_1{public static void f(){Test_jar1 t = new Test_jar1(2);t.f(); } }
注意開頭import 那個包就ok了.
測試通過:
[java] Test_jar: i is 2 !
總結
以上是生活随笔為你收集整理的jar包的生成和使用简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java里的接口的interface 简
- 下一篇: Java 里的thread (线程)简介