关于jar包
jar 是 Java ARchive 的缩写,是一种基本 zip 格式的文件格式。目标是将 java 生成的类文件、资源文件、管理文件等按照特定的结构打包成一个独立的文件,方便程序的发布或网络的下载。
我分为四个步骤来理解
- javac如何指定生成的类文件路径
- Java如何指定类文件路径
- 如何打jar包
- 解压jar包
首先是指定生成类的文件路径

C:\Users\lee\Desktop\2020-2-19练习jar包\src>javac -encoding utf-8 com\bit\Main.java
此时编译后产生.class文件,如下所示

接着我们把这两个.class文件删了
创建out\producition\练习jar包

接下来要指定.class文件的位置
C:\Users\lee\Desktop\2020-2-19练习jar包\src>javac -encoding utf-8
-d ..\out\production\练习jar包\ com\bit\Main.java
将编译后产生的两个.class文件放在(练习jar包)中

运行java程序
C:\Users\lee\Desktop\2020-2-19练习jar包>java -cp out\production\练习jar包\ com.bit.Main
世界你好
接着就是打jar包了
C:\Users\lee\Desktop\2020-2-19练习jar包\out\production\练习jar包>jar cvf 练习jar包.jar com\bit\*.class
已添加清单
正在添加: com/bit/Main.class(输入 = 344) (输出 = 257)(压缩了 25%)
正在添加: com/bit/SayHello.class(输入 = 560) (输出 = 361)(压缩了 35%)

第二个就是jar包啦
创建一个可以运行的jar包
新建一个MANIFEST.txt文件,内容和位置如下

注意第二行存在为空

C:\Users\lee\Desktop\2020-2-19练习jar包\out\production\练习jar包>jar cvfm 可以运行的jar.jar MANIFEST.txt com\bit\*.class
已添加清单
正在添加: com/bit/Main.class(输入 = 344) (输出 = 257)(压缩了 25%)
正在添加: com/bit/SayHello.class(输入 = 560) (输出 = 361)(压缩了 35%)

这个名为可以运行的jar包就是可以直接运行
C:\Users\lee\Desktop\2020-2-19练习jar包\out\production\练习jar包>java -jar 可以运行的jar.jar
世界你好
让别的程序运行这个jar包



//用这个jar包进行编译,在当前路径生成.class文件
javac -encoding utf-8 -cp ".;..\lib\练习jar包.jar" Main.java
运行
java -cp ".;..\lib\练习jar包.jar" Main
2020 年你好
如何在IDEA中使用jar包

使用别人写好的 jar 包

import org.fusesource.jansi.AnsiConsole;
import java.util.Scanner;
import static org.fusesource.jansi.Ansi.*;
import static org.fusesource.jansi.Ansi.Color.*;
public class Main {
private static final String[] fo = {
" _ooOoo",
" o8888888o",
" 88\" . \"88",
" (| -_- |)",
" O\\ = /O",
" ____/`---'\\",
" . ' \\\\| |// `.",
" / \\\\||| : |||// \\",
" / _||||| -:- |||||- \\",
" | | \\\\\\ - /// | |",
" | \\_| ''\\---/'' | |",
" \\ .-\\__ `-` ___/-. /",
" ___`. .' /--.--\\ `. . __",
" .\"\" '< `.___\\_<|>_/___.' >'\"\".",
" | | : `- \\`.;`\\ _ /`;.`/ - ` : | |",
" \\ \\ `-. \\_ __\\ /__ _/ .-` / /",
" ======`-.____`-.___\\_____/___.-`____.-'======",
};
private static void printFO(Color color) {
System.out.println(ansi().eraseScreen());
for (String line : fo) {
System.out.println(ansi().fg(color).a(line).reset());
}
Scanner scanner = new Scanner(System.in); scanner.nextLine();
}
public static void main(String[] args) {
AnsiConsole.systemInstall();
printFO(RED);
printFO(BLUE);
printFO(YELLOW);
printFO(GREEN);
printFO(CYAN);
printFO(WHITE);
AnsiConsole.systemUninstall();
}
}
D:\java代码\补课\src>javac -encoding utf-8 -cp ".;C:\Users\lee\Downloads\jansi-1.18 (1).jar" Main.java
D:\java代码\补课\src>java -cp ".;C:\Users\lee\Downloads\jansi-1.18 (1).jar" Main

本文介绍了Java ARchive (jar) 文件格式,它用于打包Java类文件、资源文件等。内容包括:指定javac生成类文件路径、Java指定类路径、如何打jar包、解压jar包以及创建可运行jar包的过程。同时,讨论了在IDEA中如何使用和引入他人编写的jar包。
2674

被折叠的 条评论
为什么被折叠?



