1.文档性质的jar文件

可以将有包名的类的字节码文件压缩成一个jar文件,供其他源文件用import语句导入jar文件中的类。

以下结合具体的两个类给出生成的jar文件的步骤eg23中TestTwo类的包名分别是sohu. com和sun. hello. moon。

eg1:

java文件1

package sohu. com;

public class TestOne

public void fTestOne() {

System. out. println("I am a method in TestOne class");

}

java文件2

package sun. hello. moon;

public class TestTwo {

public void fTestTwo() {

System. out. println("I am a method in TestTwo class");

}

将上述TestOne. java和TestTwo . java分别保存到"C:\ch4>sohu\com"和"C:\ch4\sun\hello\moon"中。在命令行中进入“C:\ch4" 目录,然后如下编译两个源文件

C: \ch4> javac sohu\com\TestOne. java

C:\ch4> javac sun\hello\moon\TestTwo

以下讲解把TestOne. class和TestTwo. class压缩成一个 jar文件(erry. jar)的步骤。

1.编写清单文件

首先编写一.个清单文件qingdan. mf( Manifestfiles)。

文件qingdan. mf:

Manifest - Version: 1. 0

Class : sohu. com. TestOne sun. hello. moon. TestTwo

Created- By; 14

需要注意的是,在编写清单文件qingdan. mf时,在“Manifest-Verpion:"和“1.0”之间、“Class:"和类之间,以及“Created-By:"和“14”之间必须有且只有个空格)

将qingdan. mf保存到“C:\ch4”目录中(保存在包路径的父目录中),在保存时编码选择ANSI,保存类型选择“所有文件(*. *)”。

2. jar命令

为了在命令行中使用jar命令生成一个jar 文件,首先需要进人到“C:\ch4”目录,即进人包路径的父目录中,然后使用jar命令生成一一个名字为Jerry. jar的文件,如下所示:

C: ch4> jar cfm Jerry. jar qingdan. mf

sohucom\TestOne. class sun\hello\moon\TestTwo. class

也可如下使用jar命令:

C: ch4> jar cfm Jerry. jar qingdan. mf sohulcom\ * . class sun\hello\moon\ *. class

3. 使用jar文件中的类

在例子24中一个有包名(假设包名是tom. jafe)的Java源文件想使用例子23中生成的i文件中的类(想用imponn语句引人 jar文件中的源文件)

eg24中的源文件照包路径保存在“C:ch4\tom\jiaferi”中。

eg24:

package  tom. jiafei;

import sohu.com.TestOne; // 引入jar文件中的类

import sun.hello. moon. TestTwO; //引入jar文件中的类

public class Example4_24 {

public void main (Strig args[]){

TestOne a = new TestOne();

a. fTestOne();

TestTwo b= new TestTwo();

b. fTestTwo();

}

}

4. 编译

将例子23给出的Jerry. jar也保存在“C:\ch4”中,然后eg24中源文件import语句引入了Jerry.jar类。在编译时使用参数 -cp.

给出所要使用的jar文件的路径位置。在命令进行中进入“C:\ch4”

如下编译例子24中的源文件:

C:\(ch4> javac - cp . ;Jerry. jar tom\jiafei\Example4_ 24. java

如果源文件的包名所对应路径的父目录和所使用的jar文件不在同一目承必须给出jar文件的绝对路径。例如.假设例子24中的源文件保存在“C:\100中,那么必须如下编译:

C:1000> javac - cpP ; c:\ch4\Jerry. jar tom\jiafei\Example4_ 24. java

如果-cp参数需要使用多个jar文件中的类,需将这些iar文件用分号分隔。

例如

Javac -cp.Jerry. jar; Cat. jar; Dog. jar 源文件包路径\源文件

5.运行主类。

在命令行中进人"C:\ch4".使用 -cp 参数加载程序需要的jar文件中的类如下运行程序:

C:\ch4> java一cp Jerry. jar; tom.jiafei. Example4_24

需要特别注意的是,-cp参数给出的jar文件Jerry. jar和主类名tom. jafei. Example4_24之间用分号分隔,而且分号和主类名之间必须至少留一个空格(分号前面不能有空施

果如图4.32所示。如果C参数需要使用多个iar文件中的类,需将这些a文件用分号分隔,

例如:

java- cp one. jar;two. jar;three. jar;主类

而且最后的jar文件后面的分号和主类之间必须至少留一个空格。

如果源文件没有包名,只要将该源文件和它所要使用的jar文件存放在相同的目录中,并使用-cp参数编译、运行即可。

java中jar文件的更多相关文章

  1. Java中读取文件

    Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...

  2. Java的jar文件安装成windows 服务

    Java的jar文件安装成windows 服务: 1.下载:nssm,复制到jar文件目录下 2. jar文件目录下创建bat文件[run.bat],内容为[java -jar 文件名.jar] 3. ...

  3. Java中删除文件、删除目录及目录下所有文件(转)

    原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...

  4. Java中的文件操作

    在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...

  5. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  6. Java中获取文件路径

    Java中获取文件路径 1.实例说明 (1)得到 ClassPath的绝对URI路径 Thread.currentThread().getContextClassLoader().getResourc ...

  7. Java 图片爬虫,java打包jar文件

    目录 1. Java 图片爬虫,制作 .jar 文件 spider.java 制作 jar 文件 添加执行权限 1. Java 图片爬虫,制作 .jar 文件 spider.java spider.j ...

  8. java中常量文件的配置与读取

    java中常量文件的配置与读取: package com.floor.shop.user.util; import java.io.InputStream; import java.io.InputS ...

  9. Java 执行jar文件出现版本错误信息

    Java 执行jar文件出现版本错误信息 一.问题 执行jar文件出现如下错误信息: 二.解决方案 是因为在创建工程的时候选择的jdk编译版本,和执行jar环境的jdk版本不一致: 更改工程的jdk版 ...

  10. Java中的文件操作(一)RandomAccessFile

    今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...

随机推荐

  1. Zabbix“专家坐诊”第186期问答汇总

    问题一 Q:这两个键值vm.memory.size[pused]和vm.memory.util监控内存使用率有什么区别,使用那个监控使用率更好,支持windows系统和Linux系统么,对agent端 ...

  2. posix API的一些理解

    TCP Posix API的理解 我们主要从TCP连接讲解整个的流程. 连接的建立 消息的收发 连接的断开 连接的建立 先看一下一个TCP server的创建过程. #include<stdio ...

  3. 几个常用的cmd命令

    compmgmt.msc 计算机管理  devmgmt.msc 设备管理器  diskmgmt.msc 磁盘管理工具  dfrg.msc 磁盘碎片整理  eventvwr.msc 事件查看器  fsm ...

  4. 【2311. 小于等于 K 的最长二进制子序列】贪心

    class Solution { public static void main(String[] args) { Solution solution = new Solution(); System ...

  5. C#断字符串是否为数字,用正则表达式

  6. 基于VB6的磁性移动窗体 - 开源研究系列文章

    这次继续整理代码.这个磁性窗体是以前大学的时候开发的,当时模仿的Winamp的效果进行的编程.当时的时候有Windows API函数能够进行处理,但是XP的年代,那个API只是移动的虚框,而不是移动窗 ...

  7. 添加AvalonEdit控件到WinForm

    public frmTest() { InitializeComponent(); ElementHost host = new ElementHost(); host.Size = new Size ...

  8. 怎样更直观的查看KingbaseES数据库日志

    数据库日志相关参数:默认设置 log_destination = 'stderr' # Valid values are combinations of # stderr, csvlog, syslo ...

  9. 初学STM32 CAN通信(一)

    # 初学STM32 CAN通信(一) 1. CAN协议简介 ​ CAN是控制器局域网络(Controller Area Network)的简称, 是国际上应用最广泛的现场总线之一 ,近年来,它具有的高 ...

  10. Android Button 点击事件

    Ctrl+Alt+Space(空格键) 可以显示提示内容