服务器之家

服务器之家 > 正文

idea中将单个java类导出为jar包文件的方法

时间:2021-06-01 11:12     来源/作者:等你归去来

前言

idea作为一个java开发的便利ide工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包

jar文件的全称是java archive file,意思就是java档案文件。通常jar文件是一种压缩文件,与常见的zip压缩文件兼容,同城也被称为jar包。jar文件与zip文件的去区别就是在jar文件中默认包含了一个名为meta-inf/manifest.mf的清单文件,这个清单文件是在生成jar文件时系统自动创建的。

当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个jar文件,把这个jar文件提供给别人使用。只要别人在系统的classpath环境变量中添加这个jar文件,则java虚拟机就可以自动在内存中解压这个jar包,把这个jar文件当成一个路径,在这个路径中查找所于晓的类或宝层次对应的路径结构。

使用jar文件有以下好处:

  • 安全。能够对jar文件进行数字签名,只让能够识别数字签名的用户使用里面的东西。
  • 加快下载速度。在网上使用applet时,如果存在多个文件而不打包,为了能够把每个文件都下载到客户端,需要为每个文件单独建立一个http连接,这是非常耗时的工作。将这些文件压缩成一个jar包,只要建立一个http连接就能够一次下载所有的文件。
  • 压缩。使文件变小,jar的压缩机制和zip完全相同
  • 包封装。能够让jar包里面的文件依赖于统一版本的类文件。
  • 可一致性。jar包作为内嵌在java平台内部处理的标准,能够在各种平台上直接使用。

之所以有这种需求,就是某个类文件独立存在,但是需要将其导出为jar,供别人临时使用,或者一些必要的场合,如: 编写一些特殊的agent使用。

不想为某个单个文件写一个项目,就想把代码加载在某个项目的角落里,怎样将该单个类文件导出为jar包呢?

方法如下:

1. 写好功能工具类,如:

?
1
2
3
4
5
6
7
8
9
10
11
public class hello {
 
 public static void main(string[] args) throws exception {
 hello hello = new hello();
 hello.sayhello("word. bingo!");
 }
 
 public void sayhello(string word) {
 system.out.println("hello, " + word);
 }
}

2. 点击idea中的 file -> project structure... -> artifacts -> 添加+ -> jar -> empty

idea中将单个java类导出为jar包文件的方法

填写好jar name, 添加好对应的资源文件。先创建好与包名对应的文件目录结构(目录结构不一致可能导致后续使用jar文件时报class not found exception),图解如下:

idea中将单个java类导出为jar包文件的方法

最后,加载编写出的单个类文件(编译后的 .class 文件,一般在 target 目录下),如下图打开添加file, 找到文件。

idea中将单个java类导出为jar包文件的方法

加载后,文件如下,设置好jar文件的输出目录,点击ok关闭对话框:

idea中将单个java类导出为jar包文件的方法

3. 编写清单文件 manifest.mf,如有必要,再将打开 project structure...

点击 create new manifest, 选择位置,然后创建一个默认的 manifest.mf。 然后关闭对话框,进入自行编辑。

idea中将单个java类导出为jar包文件的方法

一些基础参数可以直接在上面填写:

idea中将单个java类导出为jar包文件的方法

manifest.mf格式如下:

?
1
2
manifest-version: 1.0
premain-class: com.youge.api.hello

4. 导出jar文件,先运行 build(将java文件编译到class中,从而例jar文件可更新), 再导出:

idea中将单个java类导出为jar包文件的方法

导出,点击build后完成导出:

idea中将单个java类导出为jar包文件的方法

如此,到之前设置的目录下,就可以找到导出的jar文件了。

测试运行jar文件:

?
1
java -jar hello.jar

idea中将单个java类导出为jar包文件的方法

这里只是个简单的生成jar的方式,个人觉得还是挺实用的!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/yougewe/p/9651156.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部