打jar包以及jar包的使用

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

关于jar包

jar 是 Java ARchive 的缩写,是一种基本 zip 格式的文件格式。目标是将 java 生成的类文件、资源文件、管理文件等按照特定的结构打包成一个独立的文件,方便程序的发布或网络的下载。


我分为四个步骤来理解

  1. javac如何指定生成的类文件路径
  2. Java如何指定类文件路径
  3. 如何打jar包
  4. 解压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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值