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 ...
随机推荐
- puppeteer 提交 gitee - win10 (放弃,改成手点)async.series
puppeteer 提交 gitee 需求 不想每次都登录到gitee上点击发布,想自动点击. 用puppeteer 模拟下 现在是win10环境,安装比较费尽 npm i puppeteer 这里用 ...
- RGB、HSV、HSL和CMYK颜色空间
目录 简介 RGB(红绿蓝)颜色空间 HSV(色调.饱和度.亮度)颜色空间 HSL(色调.饱和度.亮度)颜色空间 CMYK(青.品红.黄.黑)颜色空间 简介 这四种颜色空间在不同的应用领域有不同的用途 ...
- day01-项目介绍和功能实现
项目练习01 1.项目介绍 这是一个简单的项目练习,用于掌握新学习的SpringBoot技术. 项目操作界面 ● 技术栈 Vue3+ElementPlus+Axios+MyBatisPlus+Spri ...
- python读取文本多行合并一行
# 需要合并的行数 col = 4 # 创建新文件 nf = open("*.txt", "w+") # 读取初始文件 with open("*.tx ...
- Springboot Mybatis 全局变量使用
application.properties中配置 mybatis.configuration.variables.k1='v1' mybatis.configuration.variables.k2 ...
- WPF中封装一个自己的MessageBox
前言 在WPF应用程序开发中,我们可以借助其强大灵活的设计能力打造出绚丽而富有创意的用户界面.然而,与这种高度定制化的界面相比,标准MessageBox却显得有些原始和古老.它的外观与现代.绚丽的应用 ...
- SSE与AVX指令基础介绍与使用
SSE与AVX指令基础介绍与使用 SSE/AVX指令属于Intrinsics函数,由编译器在编译时直接在调用处插入代码,避免了函数调用的额外开销.但又与inline函数不同,Intrinsics函数的 ...
- #轮廓线dp#洛谷 2435 染色
题目 有一个 \(n\) 行 \(m\) 列的格点图,你需要给每个点上染上 \(k\) 种颜色中的一种, 要求没有两个相邻点颜色相同.给定第一行与最后一行的染色,试求总染色方案数. 分析 首先对于 \ ...
- 带你玩转OpenHarmony AI-基于海思NNIE的AI能力自定义
简介 相信大家从玩转OpenAtom OpenHarmony(简称"OpenHarmony")AI系列专题的其他文章中,已经拓展了OpenHarmony AI在智慧出行.智慧办公等 ...
- [llama懒人包]ChatGPT本地下位替代llama-7b,支持全平台显卡/CPU运行
LLAMA的懒人包: 链接: https://pan.baidu.com/s/1xOw8-eP8QB--u6y644_UPg?pwd=0l08 提取码:0l08 模型来源:elinas/llama-7 ...