java中jar文件
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文件的更多相关文章
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
- Java的jar文件安装成windows 服务
Java的jar文件安装成windows 服务: 1.下载:nssm,复制到jar文件目录下 2. jar文件目录下创建bat文件[run.bat],内容为[java -jar 文件名.jar] 3. ...
- Java中删除文件、删除目录及目录下所有文件(转)
原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...
- Java中的文件操作
在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- Java中获取文件路径
Java中获取文件路径 1.实例说明 (1)得到 ClassPath的绝对URI路径 Thread.currentThread().getContextClassLoader().getResourc ...
- Java 图片爬虫,java打包jar文件
目录 1. Java 图片爬虫,制作 .jar 文件 spider.java 制作 jar 文件 添加执行权限 1. Java 图片爬虫,制作 .jar 文件 spider.java spider.j ...
- java中常量文件的配置与读取
java中常量文件的配置与读取: package com.floor.shop.user.util; import java.io.InputStream; import java.io.InputS ...
- Java 执行jar文件出现版本错误信息
Java 执行jar文件出现版本错误信息 一.问题 执行jar文件出现如下错误信息: 二.解决方案 是因为在创建工程的时候选择的jdk编译版本,和执行jar环境的jdk版本不一致: 更改工程的jdk版 ...
- Java中的文件操作(一)RandomAccessFile
今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...
随机推荐
- Git修改最近一次提交的日志信息
一.问题由来 当前自己所在的项目组中,每次发完一个版本后,就需要创建个人新版本的git提交凭证,其实就是系统自动 生成的一串编码,如果没有这个凭证,代码是提交不了的,这是公司制定的开发规范之一.这两天 ...
- C#泛型的类型参数约束
常用约束 约束告知编译器类型参数必须具备的功能. 在没有任何约束的情况下,类型参数可以是任何类型. 编译器只能假定 System.Object 的成员,它是任何 .NET 类型的最终基类. 如果客户端 ...
- python中把列表中的字符串转成整型的几种方法
python中在不同类型数据转换方面是有标准库的,使用非常方便.但是在开发中,经常在list中字符转成整形的数据方便遇到问题.这里就记录一下常用的几种方法. 方法一:最基本的方法:通过轮训整个list ...
- Access注入-Cookie注入
Access注入-Cookie注入 1.Cookie简单介绍 2.Cookie注入原理及方法 一.Cookie简单介绍 What is Cookie? 储存在用户本地终端上的数据 类型为"小 ...
- day01-HTML01
day01-HTML 1.JavaWeb技术体系 2.B/S软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser浏览器,小程序,APP,或者自己写的)和服务端(Server)组成的系统 ...
- 百度api经历
底部参考文档,欢迎点击:https://www.runoob.com/http/http-content-type.html 这两天遇到了点糟心事,因为小伙伴走了.然后事情起因是这样的,来了个任务封装 ...
- [mysql/docker] 基于Docker安装MYSQL
0 序 虽然关于 mysql 安装的教程,先前已写过很多期了(参见如下列表),但这期的安装教程所依赖的环境还是大有不同的----基于 docker 环境. [数据库] MySQL之数据库备份与升级:M ...
- 纯前端实现 PNG 图片压缩 | UPNG.js
在线 Demo 体验地址 →: https://demos.sugarat.top/pages/png-compress/ 前言 最近在迭代自己的 图床 应用,由于使用时间的累计,存储空间占用越来越大 ...
- WebStorm 没有找到本地修改记录LocalChanges,怎么查看本地修改记录
一直用IDEA做后端Java开发,也写过vue+elementUI的前端代码,但前后端都放在一个项目里写,本地修改代码记录,可以在git-LocalChanges中查看修改记录. 最近前后端分离,自己 ...
- SSH和SFTP是否相同
SSH和SFTP是否相同?SSH和SFTP是经典的对.在确保通信安全方面,它们交织在一起,尽管它们具有类似的功能,但它们并不是一回事.那么,它们之间有什么区别?请仔细阅读,找出答案. 什么是SSH? ...