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. github git clone下载加速 && npm install 下载加速

    git clone https://pd.zwc365.com/seturl/< https 开头的项目地址> npm install --registry=https://registr ...

  2. Android 优雅的Activity回调代码封装

    原文地址: Android 优雅的Activity回调代码封装 - Stars-One的杂货小窝 之前提到Jetpack架构组件学习(3)--Activity Results API使用 - Star ...

  3. apt-get install安装软件时出现依赖错误解决方案

    在使用apt-get install安装软件时,经常会遇到如上图所示错误,该错误的意思为缺少依赖软件,解决方案为: aptitude install golang-go

  4. CSS(三大特性、盒子模型的组成(boder、padding、margin)、ps基本操作)

    一.css三大特性 1.层叠性 相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式.层叠性主要解决样式冲突的问题 层叠性原则: 样式冲突,遵循的原则是就近原则,哪个样式离结构近, ...

  5. windows 10 wsl 环境 docker 无法正常启动 -The system cannot find the file specified

    错误信息: error during connect: in the default daemon configuration on Windows, the docker client must b ...

  6. GridSearch 最佳 estimator 设置问题

    GridSearchCV 最佳 estimator 设置问题 def train_model_Grid(estimator, param_grid, cv, X_train, X_test, y_tr ...

  7. SpringBoot2使用hikari报 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl

    SpringBoot2配置文件有变化,需要更改配置 #datasource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spri ...

  8. archlinux virtualbox 启用usb支持

    参照 https://linux.cn/article-15287-1.html 1.安装virtualbox扩展包 (1)从archlinuxcn社区库安装 sudo pacman -S virtu ...

  9. java反序列化-CC1

    CC1 目录 CC1 1.Transformer接口 2.Transformer的实现类 ConstantTransformer ChainedTransformer InvokerTransform ...

  10. 【已解决】org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083.

    杀死这些进程 kill -9 进程号