java -jar命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java -jar命令相关的知识,希望对你有一定的参考价值。

在用java -jar命令运行jar文件时,如果此时并不在jar文件所在目录下,那么在java命令后怎么指定jar的路径,来运行指定的jar文件呢?

功能说明:
  Java归档工具

语法:
  jar [ 命令选项 ] [manifest] destination input-file [input-files]

补充说明:
   jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而, 设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。将applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对每个组件都要求一个新连 接。这大大缩短了下载时间。jar还能压缩文件,从而进一步提高了下载速度。此外,它允许applet的作者对文件中的各个项进行签名,因而可认证其来 源。jar工具的语法基本上与tar命令的语法相同。

命令选项
  -c 在标准输出上创建新归档或空归档。

  -t 在标准输出上列出内容表。

  -x[file] 从标准输入提取所有文件,或只提取指定的文件。如果省略了file,则提取所有文件;否则只提取指定文件。

  -f 第二个参数指定要处理的jar文件。在-c(创建)情形中,第二个参数指的是要创建的jar文件的名称(不是在标准输出上)。在-t(表(或-x(抽取)这两种情形中,第二个参数指定要列出或抽取的jar文件。

  -v 在标准错误输出设备上生成长格式的输出结果。

  -m 包括指定的现有清单文件中的清单信息。用法举例:“jar cmf myManifestFile myJarFile *.class”

  -0 只储存,不进行 ZIP 压缩。

  -M 不创建项目的清单文件。

   -u 通过添加文件或更改清单来更新现有的 JAR 文件。例如:“jar -uf foo.jar foo.class”将文件 foo.class 添加到现有的JAR文件foo.jar中,而“jar umf manifest foo.jar”则用manifest中的信息更新foo.jar的清单。

  -C 在执行 jar 命令期间更改目录。例如:“jar -uf foo.jar -C classes *”将classes目录内的所有文件加到foo.jar中,但不添加类目录本身。

程序示例
  1:将当前目录下所有CLASS文件打包成新的JAR文件:
  jar cf file.jar *.class

  2:显示一个JAR文件中的文件列表
  jar tf file.jar

  3:将当前目录下的所有文件增加到一个已经存在的JAR文件中
  jar cvf file.jar *
参考技术A 指定具体位置就可以了 例如你的 jar 在 C:\Users\Desktop\test.jar
运行则为 java -jar C:\Users\Desktop\test.jar

linux 下一样 指定好路径
参考技术B java/javaw -jar path\to\yourapp.jar追问

javaw是什么意思啊

追答

GUI的使用 javaw启动,不需要保留黑窗口不关闭

追问

那程序正在运行中,只有手动点击关闭。那么怎么样在bat文件中写命令,让它在程序一运行就关闭呢?

追答

使用诸如winrun4j这样的启动(一个exe文件+一个ini配置)启动程序

追问

winrun4j启动时怎么弄的啊?exe文件和ini配置是怎么生成的呢?

追答

就是把winrun4j。exe改名,把winrun4j。ini也改名,并修改。

http://winrun4j.sourceforge.net

网页Usage那段,

本回答被提问者采纳
参考技术C java -jar c:\aaa\test.jar 参考技术D 最有名的Java程序可能是Java小应用程序(applet)。小应用程序是遵循一定的规则,运行在支持Java的浏览器上的Java程序。然而,Java不只用来为WWW写聪明的、娱乐性的小应用程序,它是一个通用的、高级程序语言和强大的软件平台。使用通用的JavaAPI,可以写很多种程序。最常见的程序类型可能是小应用程序和应用程序,Java应用程序是直接运行在Java平台上的独立的程序。一种特殊的称为“服务器”的应用程序可以支持网络上的客户。服务器的包括Web服务器、代理服务器、邮件服务器、打印服务器和导入服务器。另一种特殊的程序是servlet,它与小应用程序类似 - 在都是应用程序的实时扩展方面。不运行在浏览器中,servlet运行在Java服务器上,配置或裁剪服务器。Java API是如何支持各种程序的呢?它通过软件包提供各种功能。核心API(core API)是实现Java平台功能的API。核心API有以下特征: 要素:对象、字符串、线程、数字、输入和输出、数据结构、系统属性、日期和时间等。小应用程序:Java小应用程序使用的指令集。网络:URL、TCP和UDP插槽、IP地址。国际化:可以写可本地化的代码。程序可自动适应特殊的场所和以适当的语言显示。安全性:在低级和高级两方面,包括电子签名、公/私密钥管理、访问控制、认证。软件组件:称为JavaBean,可以插到已有的组件结构中,如微软的OLE/COM/Active-X结构、OpenDoc、网景的LiveConnect。对象系列化:可以通过RMI(远程方法调用)进行轻量级的持续和通讯。JDBC(Java数据库互联):提供对大量关系数据库的统一访问。Java不仅有核心API,还有标准扩展。标准扩展定义了3D、服务器、合作、电话、演讲、动画等的API。能开发的东西很多 你知道那个ATM 自动取款机就是java 开发的,应用软件 网站 大型的银行系统 等等 基本上基于b/s的确实java 在web开发方面就是它的长处 所以在web开发方面java是相当不错的 c语言开发c/s结构的软件 其实各有好处各有坏处 c基于底层效率高 速度快 但是安全性 稳定性 不够 java速度慢一些 但是安全性高 稳定性好 可跨平台 c是面向过程的 java是面向对象的j2ee是其实一个版本 就是企业级开发 主要是开发大型的企业的系统

Java专栏

以上是关于java -jar命令的主要内容,如果未能解决你的问题,请参考以下文章

Java 布尔运算

java [Java] Java常用代码#java

Java - 35 Java 实例

Java While 循环

Java 字符串

Java If ... Else