Java jar打包工具使用方法步骤解析

 更新时间:2020年10月15日 11:33:17   作者:贾小仙  
这篇文章主要介绍了Java jar打包工具使用方法步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用。

在C盘下的temp文件夹下面:

有一个com.pack.surfront的package 这个package下面有一些已经class文件如:Test1.class,Test2.class,Test3.class,其中Test1.class下有一个可执行文件。

我们打开cmd,然后cd temp到temp文件夹下面,因为com.pack.surfront是包路径,不需要再进去然后再打包,打包的时候必须要把这个包也打进去,否则的话打出来的包中的类将无法访问了。

进去之后执行命令:
jar cvf hello.jar com

然后按enter键即可,解释一下,这个jar是jdk下的一个命令,然后cvf是三个参数,在cmd下直接输入jar即可参看一下这个命令的介绍,这里不说这个(其实是我也没查过!icon_lol.gif )

hello.jar是打出来的包的名称,这个是可以随便取的。com是那个包的顶端路径。这个命令执行完之后就会在temp路径下面生成一个hello.jar文件,我们可以用rar解压缩文件解压他,可以看到其中有一个META-INF的目录,该目录下有一个MANIFEST.MF文件,打开该文件,可以看到

Manifest-Version: 1.0
Created-By: 1.6.0_26 (Sun Microsystems Inc.)

这两行内容,一般如果从外面引用这个jar里面的类和方法有这些就足够了,但是我的Test1.class文件里面还有一个main方法,我想打完包之后可以执行这个jar,那么还需要一些其他的配置,我们在上面的文件内容中添加一行,添加完之后文件全部内容如下:

Manifest-Version: 1.0
Created-By: 1.6.0_26 (Sun Microsystems Inc.)
Main-Class: com.pack.surfront.Test1

第三行就是指定了一个主类,说明该类中存在main方法,那么之后这个jar就可以执行了。注意那一行一定要把完整的class文件的路径写全,不然会提示找不到该类的。

把这个文件改成这样了之后把这个MANIFEST.MF文件拿出来放在temp目录下面,然后把刚才生成的hello.jar和解压后的其他文件全都删除。然后重新打包一次

这时候temp目录下面应该是这样的结构:原来的com文件夹,我们修改后的MANIFEST.MF文件,这时候在cmd下执行:
jar cvfm hello.jar MANIFEST.MF com看出来有什么不同了没?一个是将原来的cvf改成cvfm,然后再hello.jar后添加了一个MANIFEST.MF她的意思就是指打包的时候不再生成(m参数的功能)MANIFEST.MF文件,而是把我们指定的mf文件打包进去。执行这个命令之后就完事了。然后在cmd下面执行:

java -jar hello.jar这个时候main方法就会执行,如果他需要什么参数则直接放在后面即可。和直接执行java Test 参数 是一样的。OK,就到这里吧。如果如果觉得我说的不好敬请留言拍砖@!icon_lol.gif

添加使用的jar包:

Class-Path: commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts-legacy.jar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解Spring Boot配置使用Logback进行日志记录的实战

    详解Spring Boot配置使用Logback进行日志记录的实战

    本篇文章主要介绍了详解Spring Boot配置使用Logback进行日志记录的实战,具有一定的参考价值,有兴趣的朋友可以了解一下
    2017-07-07
  • Java实现手写一个线程池的示例代码

    Java实现手写一个线程池的示例代码

    线程池技术想必大家都不陌生把,相信在平时的工作中没有少用,而且这也是面试频率非常高的一个知识点,那么大家知道它的实现原理和细节吗?本文就来通过手写一个简单的线程池框架,去掌握线程池的基本原理,感兴趣的可以学习一下
    2022-10-10
  • Java 爬虫如何爬取需要登录的网站

    Java 爬虫如何爬取需要登录的网站

    这篇文章主要介绍了Java 爬虫如何爬取需要登录的网站,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 使用Java开发实现OAuth安全认证的应用

    使用Java开发实现OAuth安全认证的应用

    这篇文章主要介绍了使用Java开发实现OAuth安全认证的应用的方法,OAuth安全认证经常出现于社交网络API应用的相关开发中,需要的朋友可以参考下
    2015-11-11
  • SpringCloud使用CircuitBreaker实现熔断器的详细步骤

    SpringCloud使用CircuitBreaker实现熔断器的详细步骤

    在微服务架构中,服务之间的依赖调用非常频繁,当一个下游服务因高负载或故障导致响应变慢或不可用时,可能会引发上游服务的级联故障,最终导致整个系统崩溃,熔断器是解决这类问题的关键模式之一,Spring Cloud提供了对熔断器的支持,本文将详细介绍如何集成和使用它
    2025-02-02
  • Spring Boot项目中遇到`if-else`语句七种具体使用方法解析

    Spring Boot项目中遇到`if-else`语句七种具体使用方法解析

    当在Spring Boot项目中遇到大量if-else语句时,优化这些代码变得尤为重要,因为它们不仅增加了维护难度,还可能影响应用程序的可读性和性能,以下是七种具体的方法,用于在Spring Boot项目中优化和重构if-else语句,感兴趣的朋友一起看看吧
    2024-07-07
  • springboot 实现动态刷新配置的详细过程

    springboot 实现动态刷新配置的详细过程

    这篇文章主要介绍了springboot实现动态刷新配置,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • SpringBoot实现类似钩子函数的方法

    SpringBoot实现类似钩子函数的方法

    这篇文章主要给大家介绍了关于SpringBoot实现类似钩子函数的方法,文中通过代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-04-04
  • 解决springboot responseentity<string>乱码问题

    解决springboot responseentity<string>乱码问题

    这篇文章主要介绍了解决springboot responseentity<string>乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java中时间戳和时间的转换方法代码

    Java中时间戳和时间的转换方法代码

    这篇文章主要介绍了Java中时间戳和时间的转换的相关资料,Java8中时间戳与日期时间对象之间的转换是编程中常见的操作,通过时间字符串获取时间对象也是其中的一种方法,需要的朋友可以参考下
    2025-03-03

最新评论