一、如何创建JAR文件?

  .jar是用来压缩档案或者解压档案的文件格式,其特点是具有无损压缩的功能。想知道如何创建这种程序?请访问 http://www.cnblogs.com/yjmyzz/p/executable-jar.html

  .jar可以通过整理Java程序的类别文件来变为可执行文件,而编译器或Java虚拟机可以识别这些格式。.jar文件是通过javaw(Java应用程序管理器)执行的。你需要设置.jar文件中的应用程序接入点(即含有程序主功能的文件类别)。你需要通过清单文件(Manifest file)来设置接入点。步骤如下:

  1、Java工具会自动把meta-inf/manifest.mf设置为.jar的文件路径。创建新的清单文件的时候,名字会创建为 "Manifest-Version: 1.0, Created-By: 1.6.0 (Sun Microsystems Inc)"

  2、创建manifest addition .txt 文件。输入 Main Class: [Package Name].[Class Name], ,把[Package Name]、[Class Name]替换为你的套件名称和类别名称(即创建了属性值对)不要忘了最后加一行空行。

  3、进入这个终端指令程序,调整清单文件,使其包括应用程序的接入点,把以下代码的中括号部分改为你程序的信息。 jar cfm [jar 文件名] [附加清单文件名] [导入文件]

  4、重新看一下清单文件。设置了接入点以后,会是 "Manifest-Version: 1.0,Created-By: 1.6.0 (Sun Microsystems Inc), Main Class: [套件名称].[类别名称]"

  5、你也可以用jar工具设置接入点。不过这样会覆盖清单文件中主类别属性。输入下面代码(把中括号部分替换) jar cfe [jar 文件名] [套件名称] [带主功能的种类名称]

二、如何运行.jar形式的Java程序?

  .jar可能是个程序或库,如果是库(不含有可执行的文件类型),试着运行它也是没用的。

  .jar 需要依赖其他程序运行(如同.exe)。如果不在你的类别路径中,可能就运行不了程序。

  含有 javaw.exe的文件夹内,有个程序叫 javaws.exe ,不要弄混这两个了,前者是用来在Windows中运行Java程序的工具,后者是 JAVA web start(Java应用程序管理工具)。

  1、在linux运行时,登录远程服务器后,进入对应的路径下,运行 .jar(java应用程序运行的主要方法): java -jar [Jar 文件名]。这个命令打印后,只要CRTL+C或退出终端,进程就会关掉。日志实时打印

  

  

  命令改成java -jar [Jar 文件名] & 时,会打印pid,同样,这个命令开始后,只要关闭终端,进程就会关掉。

  

  

  2、在Windows系统运行时,

  运行 .jar 文件,用以下代码运行 .jar(java应用程序运行的主要方法): java -jar [Jar 文件名]

   (1)cmd

   (2)java -jar 盘:\文件名\XXXX.jar

  使得可以双击执行 .jar程序(可选)。 要双击打开.jar文件的话,需要把 javaw (java 应用程序管理器)可执行程序文件路径改变,输入以下代码: C:\Program Files\Java\j2rex.y.z\bin\javaw.exe" -jar "%1" %*

如何创建JAR文件?如何运行.jar形式的Java程序?的更多相关文章

  1. 将springboot打包成的jar文件做成windows服务,解决java程序自启动问题

    https://blog.csdn.net/weixin_40411331/article/details/80193376 https://blog.csdn.net/qq_33188180/art ...

  2. 导出含有图片的项目成jar文件后运行,图片不显示

    在编写完Java程序后,打包成Jar时发布,会发现找不到Jar文件中的图片和文本文件,其原因是程序中载入图片或文本文件时,使用了以当前工作路径为基准的方式来指定文件和路径.这与用户运行Jar包时的当前 ...

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

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

  4. java打jar包和运行jar包的两种方式

    java打jar包和运行jar包的两种方式更详细的打包方式请参考https://www.cnblogs.com/mq0036/p/8566427.html 一.java类不依赖第三方jar包以简单的一 ...

  5. 使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写

    jar 命令 jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件   使用示例:jar -cvf ../xxx.jar *  -c   create,创建新的归档文档 ...

  6. 使用JSmooth制造java jar文件可以运行exe文件教程图像

    这是我之前在个人博客3yj上面写的一篇文章,如今转载过来,原文地址 (这不是广告哦) 几年前,刚接触java的是.就想用一些方法把自己的劳动果实保护起来,曾经也用过非常多这种工具.有一个特别好用,今天 ...

  7. 关于Java项目打包成Runnable jar文件后运行时图片不显示的问题

    现象:在eclipse中能够无误运行,但导出Runnable jar后运行jar包时不显示图片. 原因:路径问题. 方法1: 新建一个文件夹.文件夹中放那个jar包和image文件夹.在这种情况下,双 ...

  8. linux下jar命令(运行jar包)

    直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉.   普通方式启动应用: java -jar jarPackageName.jar 1>system.log ...

  9. 将Maven项目打包成可执行jar文件(引用第三方jar)

    方法一. mvn assembly 或 mvn package (一个jar包) 把依赖包和自己项目的文件打包如同一个jar包(这种方式对spring的项目不支持) <build>     ...

随机推荐

  1. Delphi中的堆,栈

    来自:http://blog.163.com/liang_liu99/blog/static/884152162009111303756371/ --------------------------- ...

  2. 51nod 1091 线段的重叠【贪心/区间覆盖类】

    1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 2 ...

  3. 2017 CCPC 湘潭邀请赛

    都tm快一年了我还没补这套题……再不补怕是要留给退役后乐 Problem A 把$n * (n + 1)$的矩阵补成$(n + 1) * (n + 1)$的,然后高斯消元. Problem B 一看题 ...

  4. Manacher【p4555】 [国家集训队]最长双回文串

    题目描述 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为abc,逆序为cba,不相同). 输入长度为 n 的串 S ,求 S 的最长双回文子串 T ,即可 ...

  5. elasticsearch 分布式部署

    修改配置文件 /config/elasticsearch.yml 我用两台机器,内网地址分别为230 和 231 处理启动报错一: [2017-01-12T15:55:55,433][INFO ][o ...

  6. System对象

    System:类中的方法和属性都是静态的 out:标准输出,默认是控制台 in:标准输入.默认是键盘 System:描述系统的一些信息. 获取系统属性信息:Properties getProperti ...

  7. sql server 2005 链接服务器:未将服务器 配置为用于 RPC

    原文:sql server 2005 链接服务器:未将服务器 配置为用于 RPC  RPC: 远程过程调用(Remote Procedure Calls) --LinkedServer.Rpc 属性: ...

  8. WebStrom配置多个项目的Dweployment时,设置默认的启动配置

    有时候,我们在WebStrom中打开多个项目,但是每个项目可能的Deployment的配置不同,所以每次在项目中时,可能打开的网页并不对.所以需要设置默认的启动的Deployment.下面的内容是设置 ...

  9. iOS GCD 拾遗

    GCD里就有三种queue(分派队列)来处理. 1. Main queue:(主队列) 顾名思义,运行在主线程,由dispatch_get_main_queue获得.和ui相关的就要使用Main Qu ...

  10. 【spring boot】spring boot 2.0 项目中使用mysql驱动启动创建的mysql数据表,引擎是MyISAM,如何修改启动时创建数据表引擎为【spring boot 2.0】

    默认创建数据表使用的引擎是MyISAM 2018-05-14 14:16:37.283 INFO 7328 --- [ restartedMain] org.hibernate.dialect.Dia ...