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直接执⾏它⽽⽆需事先提取⽂件或者设置类路径。
Javajar在Windows上运行的方法
Javajar在Windows上运⾏的⽅法 本⽂列出Java jar包在windows系统上运⾏的三种⽅式。
CMD命令⾏⽅式运⾏ 这种⽅式⾮常简单,打开cmd窗⼝,输⼊如下命令即可:java -jar test.jar使⽤批处理脚本运⾏ 使⽤cmd命令⾏⽅式虽然很简单,但是每次都要打开cmd窗⼝再输⼊命令,还是有些⿇烦,可以写个批处理脚本来代替。
先创建个bat⽂件,⽐如:run.bat,输⼊下⾯⼏⾏:@echo offstart javaw -jar C:\Users\samsung\Desktop\test.jarexit 保存后,双击运⾏即可。
其中,@echo off:当执⾏失败的时候,不打印失败信息,根据⾃⼰需要选⽤。
作为Windows服务在后台运⾏ Java jar 作为Windows服务在后台运⾏需要借助于第三⽅⼯具,常⽤的是JavaService.exe这个⼯具,下载地址:,64位系统(Java也是64位的)的话必须下载64位版本,⽐如:JavaService_2_0_10-amd64.zip。
要以Windows服务⽅式运⾏需要先注册Windows服务,然后才能启动服务。
注册服务 下载的压缩包解压后即可使⽤,打开CMD窗⼝,进⼊JavaService.exe所在⽬录,输⼊如下命令:JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M -start org.springframework.boot.loader.JarLauncher 显⽰如下结果即为注册成功:C:\Users\samsung\Desktop>JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll-Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M-start org.springframework.boot.loader.JarLauncherThe test automatic service was successfully installed 参数解释: -install test:指定服务名,当前注册的服务名为:test; -Djava.class.path=C:\Users\samsung\Desktop\test.jar:指定jar包的路径; -start org.springframework.boot.loader.JarLauncher:指定启动类,即 main 函数所在类,需要带上包名。
java -jar 命令用法
如何正确使用java -jar命令1. 了解java -jar命令的基本概念在计算机编程和开发中,java -jar命令是一个非常常见和重要的命令,它用于运行Java程序。
通过这个命令,我们可以将一个打包好的Java 应用程序(通常是一个可执行的JAR文件)在命令行中直接运行,而不需要在程序中指定依赖的库文件路径。
这种用法在实际的软件开发和部署中非常方便,因此了解java -jar命令的正确用法对于Java开发人员来说至关重要。
2. java -jar命令的基本语法和用法要使用java -jar命令来运行一个JAR文件,我们只需要在命令行中输入如下的语法:```java -jar <JAR文件名>```这里的<JAR文件名>就是要运行的Java应用程序的JAR文件名。
通过这个命令,我们可以直接在命令行中启动一个Java应用程序,而无需手动指定依赖库的路径或其他复杂的设置。
这种简洁的用法使得java -jar命令成为了Java开发中的一个重要工具。
3. 深入了解java -jar命令的参数和选项除了基本的用法外,java -jar命令还支持一些参数和选项,这些参数和选项可以帮助我们更灵活地控制Java应用程序的启动行为。
其中一些常用的参数和选项包括:- -D<name>=<value>:设置Java系统属性。
- -cp <路径>:指定类路径,用于指定依赖库的路径。
- -Xms<size>:指定Java堆的初始大小。
- -Xmx<size>:指定Java堆的最大大小。
- ...(更多参数和选项可以根据需要进行进一步了解)4. 如何正确使用java -jar命令要正确使用java -jar命令,我们首先需要确保JAR文件包含了所有的依赖库,这样在运行时就不会出现类找不到的错误。
我们需要注意在编写JAR文件的清单文件(MANIFEST.MF)时,需要正确设置Main-Class属性,这个属性指定了JAR文件的入口点。
jar运行原理
jar运行原理一、什么是jar文件?JAR(Java Archive)是一种用于存储多个Java文件的压缩文件格式。
它将所有的Java类、资源文件和元数据打包到一个文件中,方便部署、传输和共享。
二、jar文件的结构一个jar文件实际上是一个ZIP格式的文件,它包含了多个文件和目录。
在jar文件的根目录下,通常会包含META-INF目录,它用于存储一些元数据信息,比如MANIFEST.MF文件。
MANIFEST.MF文件是一个纯文本文件,它包含了jar文件的一些描述信息,比如版本号、创建时间等。
三、jar文件的运行原理当我们要运行一个jar文件时,通常需要使用Java虚拟机(JVM)。
JVM负责解析和执行jar文件中的Java字节码。
1. 类加载器JVM在运行jar文件时,会使用类加载器来加载jar文件中的类。
类加载器负责从jar文件中读取字节码,并将其转换成可执行的Java类。
JVM提供了多个类加载器,比如启动类加载器、扩展类加载器和应用程序类加载器,它们分别负责加载不同位置的类文件。
2. 类路径JVM在加载类时会搜索类路径(Classpath),类路径是一个包含多个目录和jar文件的列表。
当我们运行一个jar文件时,JVM会将该jar文件添加到类路径中,以便能够找到并加载其中的类。
3. 入口类一个jar文件中通常会包含一个或多个入口类(Main Class),入口类是jar文件的入口点,JVM会从入口类开始执行程序。
当我们使用java命令来运行一个jar文件时,需要指定入口类的全限定名。
4. MANIFEST.MF文件MANIFEST.MF文件中的Main-Class属性指定了jar文件的入口类。
当我们使用java命令来运行一个jar文件时,JVM会读取MANIFEST.MF文件中的Main-Class属性,并从指定的入口类开始执行程序。
5. 资源文件除了Java类,jar文件还可以包含其他类型的文件,比如图片、配置文件等。
用java–jar命令运行Jar包
现在的问题是:如何把jar做成可以运行的包?
清单文件和主类条目 在大多数jar文件中,在目录META-INF里有个叫MANIFEST.MF的文件。在该文件中,有一个叫Main-Class的特殊条目,它说明了java - jar命令执行的类。
问题是你必须正确地在清单文件中加入这个特殊的条目――它必须是在特定的位置和特定的格式。可是,好多人不喜欢修改配置文件。 用API修改改配置 从java1.2之后,一个叫java.util.jar的包可以操作jar文件(注:它架构在java.util.zip包之上)。Jar包能让你通过Manifest类很容易地操作专 门的清单文件。
//枚举所有条目 JarEntry entry; while ((entry = jarIn.getNextJarEntry()) != null) {
//排除旧jar文件中的清单文件 if ("META-INF/MANIFEST.MF".equals(entry.getName())) continue; //把条目写到输出jar文件中去 jarOut.putNextEntry(entry);
int read;
while ((read = jarIn.read(buf)) != -1) {
jarOut.write(buf, 0, read);
}
jarOut.closeEntry();
java打包成可执行的jar或者exe的详细步骤
java打包成可执⾏的jar或者exe的详细步骤下⾯介绍过程:在Eclipse下,程序能够正常运⾏.⽅法1:直接拷贝其它能运⾏的JAR⽂件中的MANIFEST.MF进⾏修改⽅法2:利⽤IDE⼯具,如Eclipse在⽣成JAR⽂件时⾃动⽣成MANIFEST.MF内容如下:复制代码代码如下:Manifest-Version: 1.0Main-Class: manager.ui.MainFrameClass-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jarSplashScreen-Imager: manager/resources/images/splash.jpg说明:Manifest-Version -指定清单⽂件的版本号Main-Class -指定程序运⾏的⼊⼝类。
注意:类名后不要加class扩展名Class-Path -指定⽀持库的路径。
“.”指程序运⾏⽬录,即导出的JAR包所在⽬录。
程序运⾏时依据Class-Path项的设置路径来查找⽀持库。
每⼀个⽀持库之间⽤空格隔开。
在这⾥使⽤了hibernate,spring,derby.注意:1.如果Java应⽤程序⽤到了⼀些Eclipse包,那么就必须将这些包也复制到程序运⾏⽬录,设置到Class-Path,否则程序将⽆法运⾏.引⽤了⼀些外部组件也需要如此设置,如hibernate,spring,derby.2. 除了⼊⼝类的包名和类名之外,其他设置项都不分⼤⼩写,⽐如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也⾏。
3.类名后不要加class扩展名4.每⼀⾏的':'后都有⼀个空格,如Class-Path:<空格>./lib/spring.jar5.Class-Path中.引⼊的JAR⽂件每⾏不得超过19个,否则会报错.但在让⼈意外的是每⾏只有前9个有效,故将所有同类型的JAR ⽂件做成⼀个JAR⽂件.如我这⾥的spring.jar,hibernate.jar,derby.jar都是同类JAR⽂件的组合.在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)复制代码代码如下:manager/entity/MyFile.hbm.xmlmanager/entity/FileType.hbm.xml...1.右键单击项⽬名,在弹出菜单中选择“Export”。
linux命令中jar的用法
在Linux中,可以使用jar命令来操作JAR包。
以下是jar命令的一些常见用法:1.
解压JAR包:使用以下命令解压JAR包到当前目录:
2.
shell复制代码
jar xvf xxx.jar
其中,xxx.jar是要解压的JAR包的文件名。
2. 压缩文件为JAR包:使用以下命令将当前目录下的文件压缩为JAR包:
shell复制代码
jar cvf0M xxx.jar ./
其中,xxx.jar是要生成的JAR包的文件名。
选项-0M表示只存储不压缩,并且不生成清单文件。
3. 添加文件到JAR包:使用以下命令将指定的文件添加到JAR包中:
shell复制代码
jar uf xxx.jar file.txt
其中,xxx.jar是要添加文件的JAR包的文件名,file.txt是要添加的文件。
4. 添加目录及其内容到JAR包:使用以下命令将指定的目录及其内容全部添加到JAR
包中:
shell复制代码
jar uf xxx.jar aa
其中,xxx.jar是要添加目录的JAR包的文件名,aa是要添加的目录。
以上是jar命令的一些常见用法,可以通过运行jar --help或man jar来获取更多关于jar命令的帮助信息。
Javajar包、程序运行参数
Javajar包、程序运⾏参数jar包JAR⽂件全称 Java Archive File,意为Java档案⽂件。
JAR⽂件是⼀种压缩⽂件,也被称为JAR包。
JDK的bin⽬录下有个jar.exe,负责jar包的相关操作。
⽣成.jar包:1、File->Project Structure->Artifacts-> + ->JAR->Empty->2、设置Jar⽂件名、Jar⽂件所在⽬录-将右边需要打包到jar包的内容拖到左边的项⽬中(compile output是必选的,第三⽅的jar包也要选)->3、[单击左边的.jar⽬录,下⽅会出现对应选项->Create Manifest->选择MANIFEST.MF⽂件的⽣成⽬录(项⽬下的任何⽬录均可,通常选项⽬名)->选择主类(也可以在.MF中⼿动添加⼀⾏:Main-Class: 包名.主类名)->]4、ok->Build->Build Artifacts->Build。
第三步是⽣成可执⾏的.jar包(带主类)。
缺省第三步,只⽣成普通的.jar包(不可执⾏)在命令提⽰符下执⾏可执⾏的.jar⽂件:1、切换到jdk所在盘符 d: 不能加\2、切换到java.exe所在⽬录 cd D:\jdk-12.0.1\bin如果path系统环境变量添加了jdk的bin⽬录,则可跳过前两步3、运⾏可执⾏的jar包 java -jar C:\Users\chy\Desktop\untitled\out\artifacts\unnamed\unnamed.jar程序运⾏参数Java主函数形式:public static void main(String[] args){......}也就是说可以向Java程序传递⼀个String[]。
1、在IDEA中debug、run时向JVM传递参数:Edit Configurations->Program arguments2、在命令提⽰符下执⾏主类:java 主类名字符串1 字符串2 字符串3......3、在命令提⽰符下执⾏可执⾏的.jar包:java -jar C:\Users\chy\Desktop\untitled\out\artifacts\unnamed\unnamed.jar 字符串1 字符串2 字符串3.....字符串1 字符串2 字符串3......以空格分开,字符串不⽤加引号。
jar file和executable jar file -回复
jar file和executable jar file -回复jar文件和可执行jar文件是Java语言中常用的文件类型,用于打包和发布Java应用程序。
本文将详细介绍jar文件和可执行jar文件的定义、创建、使用和注意事项。
一、定义1. jar文件(Java Archive)是一种用于打包Java类文件、资源文件和元数据的压缩文件格式。
它类似于zip文件,但专门用于Java应用程序。
2. 可执行jar文件是包含可执行代码和所需的依赖项的jar文件。
通过在文件中定义一个可执行的Java类,我们可以创建一个直接运行的Java应用程序。
二、创建jar文件创建一个jar文件可以通过Java开发工具中的命令行工具或IDE进行。
下面是一种常见的创建jar文件的步骤:1. 编写Java应用程序的源代码和资源文件。
2. 使用Java编译器(javac)将源代码编译为字节码文件(.class文件)。
3. 创建一个清单文件(Manifest.mf),其中包含jar文件的基本信息,例如主类和依赖项。
4. 使用jar工具(jar命令)将编译后的字节码文件和资源文件打包到一个jar文件中。
三、使用jar文件使用jar文件可以实现Java应用程序的部署和分发。
下面是一些常见的使用jar文件的场景:1. 打包库文件:将常用的Java类库、第三方库或自己编写的库文件打包成jar文件,以便于其他开发者使用。
2. 打包应用程序:将Java应用程序的所有类文件和资源文件打包成jar 文件,方便部署到不同环境。
3. 资源共享:将一组相关的资源文件打包成jar文件,可以被其他应用程序共享和使用。
4. 程序扩展:通过在应用程序中引入其他jar文件,实现功能的扩展和模块化。
四、创建可执行jar文件创建可执行jar文件需要在清单文件中指定jar文件的入口点(Main-Class)。
下面是一个创建可执行jar文件的步骤:1. 编写Java应用程序的源代码,并确保存在一个包含main方法的可执行类。
java -jar 执行 方法
Java是一种广泛应用的编程语言,其灵活性和强大的功能使其在软件开发领域得到了广泛的运用。
在Java编程中,我们常常会用到java -jar命令来执行一些特定的方法或程序。
本文将从执行方法的基本语法、常见问题及解决方法等方面进行介绍,以帮助读者更好地理解和应用java -jar命令。
一、java -jar执行方法的基本语法在Java编程中,我们可以使用java -jar命令来执行一个打包成jar包的程序或方法。
其基本语法如下:java -jar <jar文件名> [参数]其中,<jar文件名>表示要执行的jar包文件名,参数是可选的,可以在执行方法时传入给程序。
在执行java -jar命令时,需要在命令行中切换到jar包所在的目录,然后输入以上命令即可执行指定的程序或方法。
二、java -jar执行方法的常见问题及解决方法在使用java -jar命令执行方法时,有时会遇到一些常见的问题,下面将介绍一些常见问题及其解决方法:1. 无法找到或加载主类当执行java -jar命令时,如果出现"无法找到或加载主类"的错误提示,这通常是由于指定的jar包中的MANIFEST文件中未正确指定主类名所致。
解决方法是打开MANIFEST文件并检查M本人n-Class项是否正确指定了主类名,确保没有拼写错误。
2. 缺少依赖库有时在执行java -jar命令时,会出现"找不到类xxx"的错误提示,这通常是由于jar包所需的依赖库未正确引入或缺失所致。
解决方法是在编译jar包时将所需的依赖库一起打包进去,或者将依赖库放在与jar包相同的目录下。
3. 参数传递错误当执行java -jar命令需要传递参数给程序时,有时会因参数传递错误而导致程序出现异常或错误。
解决方法是检查传递的参数是否符合程序要求,并且要注意参数的顺序和格式是否正确。
三、java -jar执行方法的注意事项在使用java -jar命令执行方法时,还需要注意一些事项,以确保程序能够正常执行:1. 确保jar包正确打包在执行java -jar命令时,需要确保jar包已经正确打包,并且MANIFEST文件中正确指定了主类名和依赖库。
jar包使用
jar包使⽤JAR包是Java中所特有⼀种压缩⽂档,其实⼤家就可以把它理解为.zip包。
当然也是有区别的,JAR包中有⼀个META-INF\MANIFEST.MF⽂件,当你找成JAR包时,它会⾃动⽣成。
JAR包是由JDK安装⽬录\bin\jar.exe命令⽣成的,当我们安装好JDK,设置好path路径,就可以正常使⽤jar.exe命令,它会⽤lib\tool.jar⼯具包中的类。
这些细节就不⽤管它了。
⼀. jar命令选项:jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C ⽬录]⽂件名...其中{ctxu}这四个选项必须选其⼀。
[v f m e 0 M i ]是可选选项,⽂件名也是必须的。
-c 创建⼀个jar包-t 显⽰jar中的内容列表-x 解压jar包-u 添加⽂件到jar包中-f 指定jar包的⽂件名-v ⽣成详细的报造,并输出⾄标准设备-m 指定manifest.mf⽂件.(manifest.mf⽂件中可以对jar包及其中的内容作⼀些⼀设置)-0 产⽣jar包时不对其中的内容进⾏压缩处理-M 不产⽣所有⽂件的清单⽂件(Manifest.mf)。
这个参数与忽略掉-m参数的设置-i 为指定的jar⽂件创建索引⽂件-C 表⽰转到相应的⽬录下执⾏jar命令,相当于cd到那个⽬录,然后不带-C执⾏jar命令⼆. jar使⽤范例:(1)创建jar包$ jar cf hello.jar hello 利⽤test⽬录⽣成hello.jar包,如hello.jar存在,则覆盖(2)创建并显⽰打包过程$ jar cvf hello.jar hello 利⽤hello⽬录创建hello.jar包,并显⽰创建过程例:E:\>jar cvf hello.jar hello标明清单(manifest)增加:hello/(读⼊= 0) (写出= 0)(存储了 0%)增加:hello/TestServlet2.class(读⼊= 1497) (写出= 818)(压缩了 45%)增加:hello/HelloServlet.class(读⼊= 1344) (写出= 736)(压缩了 45%)增加:hello/TestServlet1.class(读⼊= 2037) (写出= 1118)(压缩了 45%)(3)显⽰jar包$ jar tvf hello.jar 查看hello.jar包的内容指定的jar包必须真实存在,否则会发⽣FileNoutFoundException。
jar包的使用方法
jar包的使用方法一、什么是jar包在Java开发中,jar包(Java Archive)是一种用于存放Java类、资源文件和元数据的文件格式。
它是一种压缩文件,通常以.jar作为文件扩展名。
jar包可以将多个Java文件打包成一个文件,方便程序的分发和部署。
二、安装jar包安装jar包非常简单,只需要将jar包文件复制到Java项目的classpath路径下即可。
classpath是Java程序搜索类和资源文件的路径。
一般情况下,可以将jar包放置在项目的lib目录下,然后在项目的构建配置中添加jar包的依赖项。
三、使用jar包使用jar包可以通过两种方式:命令行方式和集成开发环境(IDE)方式。
1. 命令行方式在命令行中使用jar包,可以通过Java命令来执行jar包中的主类。
假设我们有一个名为example.jar的jar包,其中包含一个名为com.example.Main的主类。
可以使用以下命令执行该jar包:```java -jar example.jar```2. 集成开发环境(IDE)方式在集成开发环境中,可以通过添加jar包的依赖项来使用它。
不同的IDE有不同的配置方法,以Eclipse为例,可以按照以下步骤添加jar包的依赖项:- 右击项目,选择"Properties";- 在弹出的对话框中,选择"Java Build Path";- 在"Libraries"选项卡中,点击"Add JARS..."按钮;- 选择jar包文件并点击"OK"按钮。
四、使用示例下面以一个简单的示例来演示如何使用jar包。
假设我们有一个Java项目,其中包含两个类:Main.java和Util.java。
Util.java提供了一个用于计算两个整数之和的方法add()。
现在我们希望将这两个类打包成一个jar包,并在另一个项目中使用它。
linux如何运行jar包、查看jar包进程、停止jar包
linux如何运⾏jar包、查看jar包进程、停⽌jar包linux运⾏jar包要运⾏java的项⽬需要先将项⽬打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运⾏。
⽽打包成jar包可以直接使⽤java命令执⾏。
在linux系统中运⾏jar包主要有以下四种⽅式。
⼀、java -jar xxx.jar这是最基本的jar包执⾏⽅式,但是当我们是当我们⽤ctrl+c中断或者关闭窗⼝时时,程序也会中断执⾏,当然关闭或重启虚拟机也同样如此。
⼆、java -jar xxx.jar &&代表在后台运⾏,使⽤ctrl+c不会中断程序的运⾏,但是关闭窗⼝会中断程序的运⾏。
三、nohup java -jar xxx.jar &使⽤这种⽅式运⾏的程序⽇志会输出到当前⽬录下的nohup.out⽂件,使⽤ctrl+c中断或者关闭窗⼝都不会中断程序的执⾏。
四、nohup java -jar xxx.jar >temp.log &temp.out的意思是将⽇志输出重定向到temp.log⽂件,使⽤ctrl+c中断或者关闭窗⼝都不会中断程序的执⾏。
查看jar包进程ps aux|grep xxx.jarps -ef | grep java将会看到此jar的进程信息:root 23730.915.82575356296448 pts/0 Sl+ 16:281:18 java -jar erp-0.5.1.2.jar或root 23732004016:28 pts/000:01:18 java -jar erp-0.5.1.2.jar停⽌jar包也就是杀死进程找到jar的pid,杀掉命令为:kill -9 pidpkill 进程名。
- 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。