这篇文章主要介绍了Java如何实现将类文件打包为jar包,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
将类文件打包为jar包
为实际项目写了一个工具类,但是每次使用时都需要打开项目点击运行。突然想,不如将这个类打成jar包这样后续就可以直接运行了。
说做就做。
1.写类文件
大概就这么个样子。
注意,这里用到了外部依赖,也就是为什么要写这篇文章的原因。
本例中的外部依赖包为:commons-codec-1.14.jar
2.编译
javac -encoding UTF-8 -classpath .;./commons-codec-1.14.jar -d . CipherTest.java
或者:
javac -encoding UTF-8 -cp .;./commons-codec-1.14.jar -d . CipherTest.java
- encoding 防止中文乱码
- -classpath 指定class文件路径
- -d . 会在当前执行目录下生成 一个java所在的包名的(这里我的是test)目录,以及编译后的class文件
- 指定要被编译的java文件
这样就编译为class文件了
3.测试
java -cp .;commons-codec-1.14.jar CipherTest 11 22 33
- -cp 指定依赖包,多个用;分割
- CipherTest: 是运行的主类,后面跟着命令行参数
这样测试就通过了。
4.打jar包
jar -cvf cipher.jar CipherTest.class
执行运行,发现找不到主类。解压查看jar包内容如下:
进入META-INF查看文件:
接下来对这个文件进行处理:
添加字段:
添加:
Main-Class: CipherTest
注意冒号后面有个空格,这个是指定主类,即启动类。
Class-Path: commons-codec-1.14.jar
指定依赖包,默认jar包根目录,有多个依赖的话,Windows用;分隔。Linux用空格分隔。
之后将依赖包拖入jar包。
最终目录结构:
最后运行jar包,正常工作。
jar包应该怎么打?
1.首先确保你的项目
能正常启动并运行
2.选中你的项目,点右键
选export(导出),如下图:
3.选择runnable jar file
下一步,如下图:
4.如下图,直接看图
5.然后点finish
后面一路过,不用管警告,一直点OK!
执行完这5步,在自己上面选择的路径下面就会有相应的jar包生成,如下图:
下面,我们来详细说明一下两种打jar包的方式有什么区别
首先,用自己的压缩工具打开刚才打成的jar包,可以看到一个MANIFEST.MF文件,如下图:
打开它之后的部分信息如下:
可以看到,这种方式把引用的jar包和自己的jar包都混合到了一起!(把需要的jar包和库提取到jar里)
再看另一种方式:
这种方式打成jar包后如下图:(将需要的jar包和库提取到子目录中)
两种方式都能正常启动,只是方式不一样!!!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
本文标题为:Java如何实现将类文件打包为jar包
- SpringBoot使用thymeleaf实现一个前端表格方法详解 2023-06-06
- 基于Java Agent的premain方式实现方法耗时监控问题 2023-06-17
- 深入了解Spring的事务传播机制 2023-06-02
- Java中的日期时间处理及格式化处理 2023-04-18
- JSP 制作验证码的实例详解 2023-07-30
- Spring Security权限想要细化到按钮实现示例 2023-03-07
- ExecutorService Callable Future多线程返回结果原理解析 2023-06-01
- JSP页面间传值问题实例简析 2023-08-03
- Springboot整合minio实现文件服务的教程详解 2022-12-03
- Java实现顺序表的操作详解 2023-05-19