jar可执行程序如何运行
linux上java -jar命令用法

在Linux 上,`java -jar` 命令用于执行Java 可执行JAR 文件。
以下是`java -jar` 命令的基本用法:
```bash
java -jar yourfile.jar
```
其中`yourfile.jar` 是你要执行的Java 可执行JAR 文件的名称。
使用这个命令,Java 将会加载并执行JAR 文件中的主类。
如果你需要指定JVM 参数,你可以在`java -jar` 命令后面添加JVM 参数,例如:
```bash
java -Xms512m -Xmx1024m -jar yourfile.jar
```
在这个例子中,我们指定了初始堆大小为512MB (`-Xms512m`),最大堆大小为1024MB (`-Xmx1024m`)。
另外,如果你的JAR 文件依赖其他的JAR 文件,你需要在执行`java -jar` 命令时使用`-cp` 参数来指定classpath,例如:
```bash
java -cp yourdependency.jar -jar yourfile.jar
```
这样可以确保Java 虚拟机能够找到并加载JAR 文件所依赖的其他类。
希望这些信息能够帮助你理解在Linux 上使用`java -jar` 命令的基本用法。
-jar命令用法-概述说明以及解释

-jar命令用法-概述说明以及解释1.引言1.1 概述在Java开发中,-jar命令是一个经常使用的命令,用于执行打包为jar 文件的Java应用程序。
它为我们提供了一种方便的方式来启动和运行独立的Java应用程序,无需考虑类路径的问题。
使用-jar命令时,我们只需要提供jar文件的路径作为参数,Java虚拟机(JVM)会自动搜索并加载jar文件中的主类作为应用程序的入口点。
这使得我们可以将整个应用程序打包到一个jar文件中,方便部署和发布。
与传统的java命令相比,-jar命令有一些独特的特性。
首先,它会忽略类路径(即不会加载classpath中的类),而是只加载jar文件中的类。
这使得我们可以确保应用程序只使用了我们想要的类,而不会引入其他不必要的类或版本冲突。
其次,-jar命令还可以让我们在jar文件中指定一个清单文件(manifest),其中可以包含额外的元数据和配置信息。
通过这种方式,我们可以在运行应用程序时传递一些参数或配置信息,而不必在命令行中逐个指定。
另外,-jar命令还能够处理一些常见的问题,比如自动解压缩jar文件、加载外部依赖库等。
这些功能使得我们可以更加方便地打包和分发我们的应用程序,减少了很多繁琐的配置和部署步骤。
总之,-jar命令是Java开发中一个非常有用的工具,它简化了应用程序的启动和部署过程,提高了开发效率。
在本文的接下来部分,我们将详细介绍如何正确地使用-jar命令,以及一些常见问题的解决方法。
1.2 文章结构文章结构部分的内容:文章结构是指文章的整体框架和组织方式,它对于读者来说具有重要的指导作用。
本文将按照以下结构展开介绍-jar命令的用法。
首先,文章将引言部分,对本文的主题进行概述。
我们将介绍-jar命令在Java开发中的重要性以及它的基本功能和作用。
同时,我们还会介绍本文的文章结构和目的,以便读者可以清晰地了解本文的内容和目标。
接下来,正文部分将涵盖两个要点。
JAVA-jar包运行及日志输出

JAVA-jar包运⾏及⽇志输出⼀般情况下运⾏jar包,当前是可运⾏的jar包,直接命令java -jar common.jar按下ctrl+C ,关闭当前ssh或者直接关闭窗⼝,当前程序都会退出。
我们在命令的结尾添加 “&” ,&表⽰该程序可以在后台执⾏java -jar common.jar &但是在当窗⼝关闭时,程序也会中⽌运⾏nohup java -jar common.jar &命令最前⾯个nohub关键字,这样程序就会不挂断运⾏命令, 当ssh终端关闭时,程序仍然在运⾏,当前程序的⽇志会被写⼊到当前⽬录的nohup.out⽂件中我们可以改下输⼊的⽇志⽂件nohup java -jar common.jar > log.out &当前程序的⽇志会被写⼊到当前⽬录的log.out⽂件中如果不想写⽇志,可以将⽇志重定向到 /dev/null 中,/dev/null代表linux的空设备⽂件,所有往这个⽂件⾥⾯写⼊的内容都会丢失nohup java -jar common.jar > /dev/null &标准输出就会不再存在,没有任何地⽅能够找到输出的内容nohup java -jar common-api.jar >/dev/null 2>log.error &只输出错误信息到⽇志⽂件,标准输出不写⼊⽇志⽂件,直接丢弃nohup java -jar common-api.jar >/dev/null 2>&1 &标准输出(stdout)重定向到/dev/null中(丢弃标准输出),然后标准错误输出(stderror)由于重⽤了标准输出的描述符,所以标准错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了nohup java -jar common-api.jar >log.out 2>&1 &标准输出重定向到log.out中,然后错误输出由于重⽤了标准输出的描述符,所以错误输出也被定向到了log.out中但是不管那种情况,如果⽇志输出,⽇志⽂件都会增加很快,造成单个⽂件很⼤。
在windows下jar文件双击运行的常用方式

关于Java应用以JAR文件发布如何双击自动运行java程序开发完毕后要以jar包发布,不过在windows系统中jar文件默认双击多会使用RAR 或者其他解压缩文件工具打开,因为jar文件本身就是压缩文件,且rar等工具默认又对jar文件进行关联,所以并不能像我们想象的那样运行目标应用程序。
如果要在windows双击自动运行以jar 文件发布的Java应用程序必须对jar文件进行运行方式设置,专门针对jar文件形式来说,在windows 下通常有如下2种方式:方式一以命令形式运行Jar文件,过程基本如下:假设一个已经开发好的java应用打成jar包的文件app.jar位于E:\apps\ 目录下。
可以如下所示以命令的形式运行这个jar文件:1 打开windows命令提示符窗口。
2 进入app.jar 所在的目录E:\apps下。
3 键入如下命令:………\>java –jar app.jar 回车即可运行启动以app.jar 方式发布的java应用。
方式二设置jar文件的打开运行方式,过程基本如下:1 打开资源管理器2 选择菜单项工具的文件夹选项3 选择文件类型选项卡4 在已注册的文件类型列表中找到jar 文件,如果没有点击新建按钮并键入jar 确定会看到已注册文件类型中有了jar文件5 设置jar文件的高级配置包括图标和打开方式等,选中jar文件点击高级按钮如图6在此可以更改jar文件的图标:要执行此操作可以点击“更改图标“按钮进行选择图标,点击确认按钮完成图标设置7 设置打开jar文件的方式(这是主要的) 回到“编辑文件类型”窗口点击“新建”按钮添加操作在“新操作”对话框中“操作”文本输入框中键入open ,点击“浏览”选则运行jar文件的应用程序路径如图:注意:选择运行的jar文件的应用程序路径是本计算机中的jer 运行环境,路径是….\jer\bin\javaw.exe –jar 参数表示让系统以java jar程序工具运行所有jar文件。
JAR文件包及jar命令详解

JAR⽂件包及jar命令详解[导读] 常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。
通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏编译。
但是JET 是要⽤钱...常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。
通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏编译。
但是 JET 是要⽤钱买的,⽽且据说 JET 也不是能把所有的 Java 程序都编译成执⾏⽂件,性能也要打些折扣。
所以,使⽤制作可执⾏ JAR ⽂件包的⽅法就是最佳选择了,何况它还能保持 Java 的跨平台特性。
下⾯就来看看什么是 JAR ⽂件包吧:1. JAR ⽂件包JAR ⽂件就是 Java Archive File,顾名思意,它的应⽤是与 Java 息息相关的,是 Java 的⼀种⽂档格式。
JAR ⽂件⾮常类似 ZIP ⽂件——准确的说,它就是 ZIP ⽂件,所以叫它⽂件包。
JAR ⽂件与 ZIP ⽂件唯⼀的区别就是在 JAR ⽂件的内容中,包含了⼀个 META-INF/MANIFEST.MF ⽂件,这个⽂件是在⽣成 JAR ⽂件的时候⾃动创建的。
举个例⼦,如果我们具有如下⽬录结构的⼀些⽂件:==`-- test`-- Test.class把它压缩成 ZIP ⽂件 test.zip,则这个 ZIP ⽂件的内部⽬录结构为:test.zip`-- test`-- Test.class如果我们使⽤ JDK 的 jar 命令把它打成 JAR ⽂件包 test.jar,则这个 JAR ⽂件的内部⽬录结构为:test.jar|-- META-INF| `-- MANIFEST.MF`-- test`--Test.class2. 创建可执⾏的 JAR ⽂件包制作⼀个可执⾏的 JAR ⽂件包来发布你的程序是 JAR ⽂件包最典型的⽤法。
java-jar命令用法

java-jar命令用法java -jar命令是Java平台提供的用于运行独立的Java应用程序的命令。
它可以用于执行任何已经打包成可执行JAR文件的Java应用程序。
在本文中,我们将详细介绍java -jar命令的用法,包括常用选项和示例。
1.语法- 选项:用于指定Java虚拟机的选项,例如-Xmx、-Xms等等,以及其他类似于设置系统属性的选项。
- <jar文件>:要执行的JAR文件的路径。
可以是绝对路径或相对路径。
- 参数:传递给JAR文件的命令行参数。
这些参数将被传递给JAR文件内的主类的main方法。
2.常用选项以下是常见的java -jar命令的选项:- -cp <class search path of directories and zip/jar files>:设置类路径,用于指定Java类的路径,包括目录和JAR文件。
- -Xmx<size>:设置JVM堆的最大大小,例如-Xmx512m表示将JVM的最大堆大小设置为512兆字节。
- -Xms<size>:设置JVM堆的初始大小,例如-Xms256m表示将JVM的初始堆大小设置为256兆字节。
- -Xss<size>:设置线程栈的大小,例如-Xss1m表示将线程栈的大小设置为1兆字节。
- -D<name>=<value>:设置系统属性的值,例如-Djava.awt.headless=true表示将Java的头部设置为无头模式。
- -verbose:class:打印有关类加载器的详细信息,包括类的加载和卸载。
- -verbose:gc:打印有关垃圾回收的详细信息,包括垃圾回收的开始和结束。
- -version:显示Java运行时环境的版本。
3.示例以下是一些java -jar命令的示例:- java -jar MyApp.jar:运行名为MyApp.jar的JAR文件。
命令行运行Jar文件的两种方法

使用命令行运行eclipse导出jar文件1.在eclipse中编写一个HelloWorld.java文件,其所在的包名org. duomu.demo。
package org.duomu.demo;public class HelloWorld {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("hello world!");}}2.右击HelloWorld.java所在的工程,选择Export,弹出Export窗口,然后选择JAR文件,点击Next。
3.选择刚才的工程,并设置JAR文件的导出路径。
4.点击Finish,将会在目标目录下创建一个jar文件。
5.打开命令行,切换到目标目录(即jar文件所在的目录,这里为D:\eclipse),键入以下命令并执行java –jar test.jar,发现运行失败,而且提示“test.jar中没有主清单属性”。
6.解决这个问题,需要修改导出的jar包中的清单文件。
具体地,通过压缩工具WinRAR打开test.jar,找到MANIFEST.MF文件,打开并添加Main-Class: org.duomu.demo.HelloWorld,注意冒号后面有一个空格,而且这里添加的是HelloWorld的完整包路径,最后在HelloWorld后面回车,让光标定位到下一行,一定要回车!7.然后再键入刚才的命令,就能够成功运行了。
8.另一个比较简单的解决方法是,直接用命令行将jar文件包含在你的classpath环境变量下,具体地键入以下命令并执行:java –classpath test.jar org.duomu.demo.HelloWorld,不用配置清单文件即可成功运行。
注意:1、test.jar文件名后面跟的是HelloWorld.java的完整包路径。
Linux下用java-jar运行可执行jar包的方法教程

Linux下⽤java-jar运⾏可执⾏jar包的⽅法教程问题来源⼀般来说,⼀个稍微⼤些的项⽬都会有⼀些依赖的Jar包,⽽在将项⽬部署到服务器的过程中,如果没有持续集成环境的话,也就是说服务器不⽀持在线编译及打包,那么需要⾃⼰上传依赖的Jar包,然⽽可能服务器上已经存在了该项⽬所依赖的Jar包(⽐如项⽬修复BUG,重新打包上传,⽽依赖不变),⽆需再次上传,此时只需将该项⽬单独打包,在运⾏的时候指定CLASSPATH即可。
在将Jar包部署到服务器上之后,设置CLASSPATH环境变量,运⾏Java -jar ...命令出现ClassNotFoundException异常。
之后⼜试⽤了诸多其它参数设置CLASSPATH,例如下⾯⼏个命令,同样都是报找不到类异常。
set CLASSPATH = classpath1;classpath2...java -classpath ".;D:\mylib\*" -jar jar包 #Windows设置java -classpath ".:/data/home/mylib/*" -jar jar包 #Linux设置java -cp ...java -cp /lib/*关于在CLASSPATH参数中使⽤通配符需要注意正确⽅式(冒号代表是Linux,Windows使⽤分号)java -classpath "lib/*:." my.package.Program不正确⽅式java -classpath "lib/a*.jar:." my.package.Programjava -classpath "lib/a*:." my.package.Programjava -classpath "lib/*.jar:." my.package.Programjava -classpath lib/*:. my.package.Program解决办法⾸先你需要知道Jar包分为可执⾏Jar和⾮可执⾏Jar,⼀个可执⾏的Jar⽂件是⼀个⾃包含的Java应⽤程序,它存储在特别配置的JAR⽂件中,可以由JVM直接执⾏它⽽⽆需事先提取⽂件或者设置类路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
win7中Java程序*.jar怎么运行?
首先你要确认自己安装了JDK(JA V A development kit)java开发工具,或者JRE(java running environment)java运行环境中的一个,JDK安装时会自带安装JRE,在环境变量中JRE中bin中的java.exe和javaw.exe配置路径。
1)右键单击计算机图标
2)属性
3)高级系统设置
4)环境变量
5)在PATH最后面添加java.exe和javaw.exe的安装路径,例如我的安装路是E:\所有软件安装根目录\JDK\jre\bin
1.如果你设置了环境变量的话,可以使用:jre目录下面的命令
javaw -jar jar包名
或
java -jar jar包名
来运行jar文件。
也可以写入一个bat文件里面,在双击打开这个bat文件就可以运行了(也需要配置环境变量)。
注:如果是控制台需要输出信息使用java,如果是窗体,不需要控制台信息,那么使用javaw。
2.也可以在jar右键,选择打开方式为java.exe或javaw.exe(一般在Java\jre7\bin 文件夹下),然后修改注册表win+R输入regedit进入注册表。
HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command
键下面的默认值为:
你的java安装目录\bin\javaw.exe" -jar "%1" "%*"
如:C:\Program Files (x86)\Java\jre7\bin\javaw.exe" -jar "%1" "%*"
这是因为java或javaw运行jar包的时候需要加入参数“-jar”,故需要修改注册
表。
*.jar分2种,有一种只是当作调用包;另外一种是可以直接执行,类似*.exe。
但是一般可直接执行的*.jar文件,用winrar等解压软件打开会发现都有一个META-INF的文件夹,这个文件夹中必须有个MANIFEST.MF文件,这个文件主要是用来描述可执行的*.jar的执行入口文件(通常是含有main()方法的类文件),格式大体如下:
Manifest-Version: 1.0
Created-By: 1.4.2_08 (Sun Microsystems Inc.)
Main-Class: Main
这边Main既是运行类,含有main()方法的一个类文件,名字为Main.class。