一、如何创建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. python里如何计算大文件的md5

    在python3中,有了一个hashlib,可以用来计算md5,这里先给出一个简单的例子: import hashlib sstr="i love hanyu" print(has ...

  2. leetcode-Min Cost Climbing Stairs

    题目: On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you ...

  3. 使用 ElasticSearch Aggregations 进行统计分析

    https://blog.csdn.net/zxjiayou1314/article/details/53837719/

  4. J.U.C并发框架源码阅读(十一)DelayQueue

    基于版本jdk1.7.0_80 java.util.concurrent.DelayQueue 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is su ...

  5. kibana- Timelion

    1. Visualize 新建图形 2. 选择图形类型 3. 选择索引 4. 设置Timelion表达式 5. 保存图形

  6. PDF审计工具peepdf

    PDF审计工具peepdf   PDF是Portable Document Format(便携式文档格式)的缩写.它是Adobe公司推出的文件格式规范.现在,PDF是网络电子书籍的主流格式.由于PDF ...

  7. Struts的线程安全

    Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率.由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题.然而 ...

  8. 每天一个liunx命令4之 ps -ef ,ps -aux ,ps aux

    1ps aux和ps –aux 请注意"ps -aux"不同于"ps aux".POSIX和UNIX的标准要求"ps -aux"打印用户名为 ...

  9. iOS 设置系统音量和监听系统音量变化

    很简单的调用 首先在工程引入MediaPlayer.framework #import <MediaPlayer/MediaPlayer.h> 1. 获取系统音量 // 获取系统音量 MP ...

  10. JAVA常见算法题(五)

    package com.xiaowu.demo; /** * 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. * * * @ ...