zoukankan      html  css  js  c++  java
  • Jar 打包与执行

    Java学习笔记之一,用于个人记录。整理自《Head First Java》。

    假设有如下目录结构:

    程序入口在 Jukebox8.java。这个代码文件开头是有如下这样的包声明语句的:

    package com.headfirstjava;
    

    先进入到源码所在目录:

    cd MyProject/source
    

    1. 编译:

    javac -d ../classes com/headfirstjava/Jukebox8.java
    

    编译后会在classes目录下自动生成com目录,以及com下面的headfirstjava目录,并把相关的.class文件放在这个目录下:

    2. 执行

    cd MyProject/classes
    java com.headfirstjava.Jukebox8
    

    3. 创建JAR

    3.1 要求:

    • 所有相关的类文件都放在 class 目录下相对应的包结构当中
    • 创建 manifest.txt 文件来描述哪个类带有 main(),格式如下:
    Main-Class: com.headfirstjava.Jukebox8
    

    当前环境下,要把 manifest.txt 文件放到 classes 目录下

    3.2 执行 jar 命令创建 JAR 文件

    cd MyProject/classes
    jar -cvmf manifest.txt packEx.jar com
    

    jar 是一个可执行命令
    -cvmfjar 命令可接受的参数

    • c 表示 create,创建一个新的归档文件
    • v 表示 verbose,在标准输出中显示创建过程
    • m 表示指定 manifest 文件
    • f 指定新的归档文件的名字

    packEx.jar 是生成之后的 JAR 文件的名字,这个名字可以随便起的
    com 表示要打包的文件夹,也即是项目的类文件所在的地方

    上述命令执行完后,生成的 JAR 文件会放在当前目录下。为了方便起见,先把生成的 packEx.jar 文件移动到一个叫 Skyler 的新目录下

    4. 解压

    解压可以直接用一般的压缩软件来解压,就像解压 zip 压缩包一样

    4.1 查看JAR文件的内容:

    cd Skyler
    jar -tf packEx.jar
    
    • t 表示 table,即用表格的形式把归档文件中的文件列出来
    • f 同前述,指定文件

    4.2 解压 JAR 文件

    jar -xf packEx.jar
    
    • x 表示 eXtract,即提取
    • f 同前述,指定文件

    执行完后会生成两个目录,结构如下:

    META-INF目录下,有一个MANIFEST.MF文件,里面其实就相当于原来的 manifest.txt 的内容,不过更加丰富了。
    而在com目录下,则与打包前的内容是一样的

    5. 执行 JAR 包

    java -jar packEx.jar
    
  • 相关阅读:
    ORACLE 循环
    C#生成指定数目的互不相同的随机数(转)
    Oracle自治事务的介绍
    螺旋矩阵--我的实现方法
    一个体育生的编程之路(一)
    判断十二星座——我的算法,大家看是不是比较简便
    简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
    使用VC和DirectShow从摄像头中读取图像(一)
    1999那个追着打我的女生
    我自己写的几个C++常用方法
  • 原文地址:https://www.cnblogs.com/wuzhiblog/p/create_jar.html
Copyright © 2011-2022 走看看