jar 命令
jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件
 
使用示例:jar -cvf ../xxx.jar * 
-c   create,创建新的归档文档
-v   view,在标准输出中生成详细输出
-f    file,指定归档文件名
 
xxx.jar 是指定的jar文件名 
* 把当前目录下所有的文件及其子目录下所有的文件打进jar包 
 
另外,如果要创建可执行的jar文件,可以使用 -m 来指定MANIFEST.MF文件

打 jar 包
1、在cmd窗口切换到最上层包目录的父目录
  比如,在桌面有一个项目文件夹Hello,打开它,看到最上层包名com,就在这个地址栏输入cmd
2、打jar包输入:
    jar -cvf ../xxx.jar * (不输入v也可以)
   打war包输入:
    jar cvf ../xxx.war *
3、在相应目录下可以看到jar或war文件已经生成。
 
从中可以发现 war 和 jar 包的区别仅仅是文件名不同而已。

运行 jar 包
jar包打好后,设置classPath的为xxx\yyy.jar,然后在命令行的任何路径都可以执行java 命令运行它,前提条件是jar 包里有main方法。
例如java com.xxx.Zzz。打包和不打包一样,访问某个class 文件的方法都一样。
这样运行的方式,前提是必须先把jar文件的保存路径设置为ClassPath。下面介绍一种不需要设置ClassPath,打包后可直接运行的打包方式。

创建可执行的jar文件
项目链接:https://files.cnblogs.com/files/Mike_Chang/example.rar 

1、在IDE里打包一个 jar 项目

2、到 target 目录下复制出jar包,可以把这个 jar 包的名字修改

3、解压,打开 META-INF/MANIFEST.MF(如果没有,自己创建一个META-INF文件夹,创建一个MANIFEST.MF的文件),在最后一行添加内容如下:

  Main-Class: com.test.HelloWorld(类的全路径名,后面不要以.class结尾)

注意:

  (1)Class:后面,也就是冒号后面要添加一个空格,否则会打包时会出现异常 Java.io.IOException: invalid header field

  (2)行末要添加一个回车,否则我们输入的这一行不能打包进去

4、在cmd窗口切换到项目目录,执行命令:

  jar cvfm ../Hello.jar META-INF/MANIFEST.MF *

  f 对应 Hello.jar,Hello.jar 可以自定义名称

  m 对应 META-INF/MANIFEST.MF

  * 表示打包当前目录里所有的文件,及子目录里的文件

5、在当前目录执行命令运行:

  java -jar Hello.jar


批处理文件运行

上面两种方式都是在命令行方式运行jar文件,还可以使用批处理文件的方式运行。

批处理文件实际上就是把在命令行输入的命令提前写到一个文件里,运行时双击这个批处理文件就可以执行了。

批处理文件名以.bat结尾

内容示例如下:

@echo off
cd/d %~dp0
java -jar Hello.jar
echo "OK"
pause

第一行和最后一行是固定格式,作用是——双击批处理文件后,弹出的命令行窗口不自动关闭,等我们按任意键后才关闭;

第二行,是切换为当前目录,%~dp0 代表当前目录

第三行,是标准输出字符串“OK"。

 

使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写的更多相关文章

  1. SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)

    如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...

  2. Linux下打包压缩war、解压war包和jar命令

    情景:把project_a文件夹下的文件打包成project.war 1. 打包 jar -cvf project.war /project_a 说明: -c 创建war包 -v 显示过程信息 -f ...

  3. 【转】学习jar命令 创建和解压jar文件包

    java编程中每天都用不少jar文件,项目开发中不停地导包,在忙完了一天的工作,放下那些复杂的业务实现,不仅想问这些jar包怎么生成的,jar包有哪些独特的地方等等. 原来这些经常见到的jar包是ja ...

  4. [转] - JAR文件包及jar命令详解 ( MANIFEST.MF的用法 )

    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. chm 文档一样双击运行了:而另一种是使用 JET 来进 ...

  5. Java jar命令 常见用法

    一.jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的. 区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Ma ...

  6. 利用jar命令打包和解压

    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了:而另一种是使用 JET 来进行 ...

  7. java之jar命令详解

    1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件——准确的说, ...

  8. jar 命令详解

    jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar.它的运行需要用到 JDK 安装目录下 lib 目录中 ...

  9. JAR命令使用

    jar 命令详解 jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar.它的运行需要用到 JDK 安装目录 ...

随机推荐

  1. “context:include-filter”与“context:exclude-filter”标签作用解释

    注意到spring中<context:component-scan>标签中会出现include和exclude的子标签,具体是做什么用的? spring的配置文件与springmvc的配置 ...

  2. expect中使用exec执行shell命令

    今天想在expect脚本中获取本机ip,执行脚本是报错,脚本如下: set localip [exec ifconfig eth0 | grep Mask | cut -d: -f2 | awk '{ ...

  3. SpringMVC3.2+Spring3.2+Mybatis3.1(SSM~Demo)

    SpringMVC+Spring+Mybatis 框架搭建 整个Demo的视图结构: JAR: 下载地址:http://download.csdn.net/detail/li1669852599/85 ...

  4. Postman—authorization简介

    Postman中的authorization 版权声明,参考: https://blog.csdn.net/qq_28284093/article/details/80416749 1.概述 Auth ...

  5. C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件

    1.创建Qt空工程 2.添加Qt设计师界面,无按钮对话框helloqt.ui 3.编辑界面,添加部件,修改对话框对象名为HelloQt <?xml version="1.0" ...

  6. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(一):Kitty 系统介绍

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 温馨提示: 有在演示环境删除数据的童鞋们,如果可以的话,麻烦动动小指,右键头像 ...

  7. Redis笔记(六):Java中使用Redis

    Java程序使用Redis 添加依赖包 Maven依赖方式 <dependency> <groupId>redis.clients</groupId> <ar ...

  8. mysql创建用户,并指定用户的权限(grant命令)

    参考链接http://blog.csdn.net/leili0806/article/details/8573636,谢谢这位仁兄 1.创建新用户的SQL语句: CREATE USER 'pig'@' ...

  9. 学习ThinkPHP笔记

    学习ThinkPHP笔记 TP的模块化设计 名称 描述 应用 基于同一个入口文件访问的项目我们称之为一个应用. 模块 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录. 控制器 ...

  10. 一个形式较精细的Strling公式的证明

    近日整理书稿,在整理至Strling公式处时,发现当时数学老师所讲的是形式比较精细的一种: Strling公式:\(n!=\sqrt{2\pi n}\left(\dfrac{n}{\mathrm{e} ...