用記事本寫的java程序並控制台進行編譯運行,並且把第三方的jar包一起打包成jar文件


一、直接記事本編寫Java程序並編譯運行 
import java.util.List;
import java.util.ArrayList;
import java.lang.String;
public class Test{
 
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        String a1 = "a1";
        String a2 = "a2";
        String a3 = "a3";
        list.add(a1);
        list.add(a2);
        list.add(a3);
 
        for(int i = 0; i<list.size(); i++){
            System.out.println(list.get(i));
        }
    }
}
編譯運行:
C:\Users\wangzcn\Desktop>javac Test.java
 
C:\Users\wangzcn\Desktop>java Test
a1
a2
a3
 
C:\Users\wangzcn\Desktop>
 

二、直接記事本編寫Java程序,並引入第三方jar
import com.wzc.print.CPrint;
public class Test{
 
    public static void main(String[] args) {
        System.out.println("Hello jar");
        CPrint.Print("[Cprint] Hello Java ");
    }
}
 
1、將需要用的jar文件和java程序拷貝到同一個文件目錄下
 
2、進行編譯,編譯的命令:javac -cp print.jar Test.java
3、進行執行,執行的命令:java -cp .;print.jar Test
4、執行完之后在控制台輸出:
C:\Users\ws\Desktop\Test>java -cp .;print.jar Test
Hello jar
[Cprint] Hello Java
 
 

三、手動將Java程序打包,直接演示帶有應用第三方jar的Java程序
 
 
1、編寫Java程序
package com.wzc.Test;  //要帶有package
 
 
import com.wzc.print.CPrint;
public class Test{
 
    public static void main(String[] args) {
        System.out.println("Hello jar");
        CPrint.Print("[Cprint] Hello Java ");
    }
 
 
}
 
2、創建目錄結構:
 
3、src 目錄下的結構,是與package路徑相一致,該目錄結構下一會放.class文件 
Test\src\com\wzc\Test
 
4、lib目錄下放Test.java 引入的第三方包:
 
5、現將print.jar 與Test.java文件放在同一目錄下進行javac編譯生成Test.class文件
C:\Users\ws\Desktop\Test>javac -cp print.jar Test.java
 
C:\Users\ws\Desktop\Test>
 
6、然后將生成的Test.class文件放入src/com/wzc/Test
 
 
7、最重要的一步是編寫manifest.mf 文件,放在src/下
Manifest-Version: 1.0                //版本號
Class-Path: ../lib/print.jar          // 第三發jar包,每個之間都要用空格隔開, 包括第一個與Class-Path 關鍵字之間
main-class: com.wzc.Test.Test  //main方法路徑,即 package路徑加類名 ,注意main-class后有一個空格
                           //最后一定要空一行
這里要注意幾點:
 
1、Class-Path: 和Main-Class: 后邊都有一個空格,必須加上,否則會打包失敗,錯誤提示為:Invalid header field;
 
2、假設我們的項目包含第三發jar,則需要創建一個lib目錄,將第三發jar都放到lib目錄下,並且在manifest.mf文件中指明lib路徑,已經需要引用的jar包。否則將會出現“Exception in thread "main" java.lang.NoClassDefFoundError”的錯誤;
 
3、Main-Class后面是類的全地址,比如你的主文件是Test.java,文件里打包為package com.wzc.Test; 那么這里就寫com.wzc.Test.Test,//切記這一點不要加.java后綴,主文件地址寫錯將會出現“找不到或無法加載主類”的錯誤;
 
4、寫完Main-Class后一定要回車(即最后一行是空白行),讓光標到下一行,這樣你生成的jar包才能找到你的主class去運行,
 
否則將會出現“jar中沒有主清單屬性”的錯誤。
 
 
 
 
8、然后進入到src路徑下,開始打包:
C:\Users\ws\Desktop\Test>cd src
 
C:\Users\ws\Desktop\Test\src>jar -cvfm Test.jar manifest.mf ./*
已添加清單
正在添加: com/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: com/wzc/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: com/wzc/Test/(輸入 = 0) (輸出 = 0)(存儲了 0%)
正在添加: com/wzc/Test/Test.class(輸入 = 527) (輸出 = 342)(壓縮了 35%)
正在添加: manifest.mf(輸入 = 84) (輸出 = 79)(壓縮了 5%)
正在添加: manifest.mf.bak(輸入 = 82) (輸出 = 77)(壓縮了 6%)
正在添加: test.jar(輸入 = 111) (輸出 = 65)(壓縮了 41%)
C:\Users\ws\Desktop\Test\src>
 
9、執行成功后再src目錄下多出來一個Test.jar
 
 
10、然后執行:
C:\Users\ws\Desktop\Test\src>java -jar test.jar
Hello jar
[Cprint] Hello Java
 
C:\Users\ws\Desktop\Test\src>
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM