精华内容
下载资源
问答
  • java运行jar包命令
    千次阅读
    2021-11-24 17:46:43

    首先要安装jdk,然后用下面命令运行

    java -jar xxx.jar

    更多相关内容
  • 本文通过四种方法给大家介绍java命令执行jar包的方式,每种方法通过实例代码给大家详解,需要的朋友参考下吧
  • 主要给大家介绍了关于将java程序打成jar包在cmd命令行下执行的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
  • javajar 命令运行Jar包

    千次阅读 2021-02-28 17:16:29
    学会如何写一段转换jar包的程序,将你的jar包转换成你能使用javajar 命令运行jar包或象在windows系统上那样通过双击来运行jar包。你可以很容易地将一个应用的所有的类和资源打包到一个jar文件中去。事实上,这只是...

    摘要

    这个技巧阐明了如何不直接处理清单文件而将一个不能运行jar包转换成一个可以执行的jar包。学会如何写一段转换jar包的程序,将你的jar包转换成你能使用java -jar 命令运行jar包或象在windows系统上那样通过双击来运行jar包。

    你可以很容易地将一个应用的所有的类和资源打包到一个jar文件中去。事实上,这只是打包的一个原因。另一个原因是让用户很容易地执行包中的应用。那么在java的世界里,为什么jar是第二类公民――仅仅用作打包――当他们能成为第一类公民的时候,能和本地执行程序一样吗?

    如果想执行jar文件,可以使用java命令的-jar选项。例如,你有一个可以运行的myjar.jar文件。因为该文件是可以执行的,所以你可以用如下命令执行之:java –jar myjar.jar。此外,安装在windows JRE将会把jar文件和JVM关联起来,以便通过双击来运行jar应用。

    现在的问题是:如何把jar做成可以运行的包?

    清单文件和主类条目

    在大多数jar文件中,在目录META-INF里有个叫MANIFEST.MF的文件。在该文件中,有一个叫Main-Class的特殊条目,它说明了java -jar命令执行的类。

    问题是你必须正确地在清单文件中加入这个特殊的条目――它必须是在特定的位置和特定的格式。可是,好多人不喜欢修改配置文件。

    用API修改改配置

    从java1.2之后,一个叫java.util.jar的包可以操作jar文件(注:它架构在java.util.zip包之上)。Jar包能让你通过Manifest类很容易地操作专门的清单文件。

    让我们使用这些API写一个程序。首先,这个程序必须知道三件事:

    我们想让它执行的jar文件;

    我们想执行的main类(这个文件必须存在于jar包中);

    我们要输出的新jar包的名称,因为不是简单地覆盖原文件;

    编写代码

    上面的列表将组成我们程序的参数。在这里,让我们选择一个合适名字,MakeRunnable咋样?

    检查送入main的参数

    假设我们的main入口是标准的main(String[])方法。我们首先应该检查程序的参数:

    if (args.length != 3) {

    System.out.println("Usage: MakeJarRunnable "

    + "

    ");

    System.exit(0);

    }

    由于对后面的程序执行非常重要,一定要注意这个参数列表是如何解释的。参数的顺序和内容不是一成不变的;如果你改变了它们,记得要修改其它代码。

    存取jar和它的清单文件

    首先,我们必须创建一些知道jar和清单文件的对象:

    //创建JarInputStream对象,获取它的清单

    JarInputStream jarIn = new JarInputStream(new FileInputStream(args[0]));

    Manifest manifest = jarIn.getManifest();

    if (manifest == null) {

    //如果清单不存在

    manifest = new Manifest();

    }

    设置Main类的属性

    我们把Main-Class条目放到清单文件里main属性部分。一旦我们从mainfest对象中得到这个属性集,我们就能设置合适的main类。然而,如果Main-Class属性存在于原始的JAR文件中怎么办?这个程序仅仅打印出一个警告信息并退出。或许,我们可以添加一个命令行参数告诉程序使用新值而不是使用以前的一个:

    Attributes a = manifest.getMainAttributes();

    String oldMainClass = a.putValue("Main-Class", args[1]);

    //如果旧值存取,显示提示信息并退出

    if (oldMainClass != null) {

    System.out.println("Warning: old Main-Class value is: "

    + oldMainClass);

    System.exit(1);

    }

    输出新的JAR包

    我们需要创建一个新的jar文件,因此我们必须使用JarOutputStream类。注意:我们必须确保输出文件和输入文件不相同。作为可选方案,应该考虑如果两个文件同名,程序应该提示用户是否覆盖原始文件。我将这个作为练习留给读者。下面是代码。

    System.out.println("Writing to " + args[2] + "...");

    JarOutputStream jarOut = new JarOutputStream(new FileOutputStream(args[2]),  manifest);

    我们必须将输入jar中每一个条目写到输出jar文件中去,因此,在所有的条目上进行枚举:

    //为了从输入中转移数据而创建读缓存

    byte[] buf = new byte[4096];

    //枚举所有条目

    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();

    }

    //刷新和关闭所有的流

    jarOut.flush();

    jarOut.close();

    jarIn.close();

    完成程序

    当然,我们必须将这些代码放到一个类中的main方法中,以及引入一些需要的包。资源一节提供了完整的程序。

    用法例子

    让我们用一个例子说明如何使用这个程序。假设你有一个main入口在叫做HelloRunnableWorld(类全名)类之中的应用,以及你已经创建了一个叫做myjar.jar的jar包,它包含了整个应用。在这个包上运行MakeJarRunnable,如下所示:

    java MakeJarRunnable myjar.jar HelloRunnableWorld myjar_r.jar

    此外,如前所述,注意我是如何安排参数列表顺序的。如果你忘记了顺序,运行一下这个不带参数的程序,它将会显示一个用法信息。

    试着用java -jar命令运行myjar.jar文件,之后在myjar_r.ja文件上。注意他们的不同!完成之后,研究在每一个jar包中的清单文件(META-INF/MANIFEST.MF)。

    建议:试着将MakeJarRunnable制作成一个可以运行的Jar文件!

    用它处理你想运行的jar包

    通过双击或者使用简单的命令运行一个jar包,总是要比把它放到 gagaghost

    展开全文
  • 主要有两种方式: 一是打的 jar 的 META-INF/MANIFEST.MF 文件里指定的 Main-Class;另一个是命令行指定要运行的 Main-Class。...关于这种打包操作参考 Maven 生成(打包)带有依赖的可以直接执行的一个 jar 。 2 j

    主要有两种方式:
    一是打的 jar 包的 META-INF/MANIFEST.MF 文件里指定的 Main-Class;另一个是命令行指定要运行的 Main-Class。

    1

    jar 包里包含 Main-Class:

    java -jar MyJar.jar arg0 arg1
    

    通过 -jar 参数可以直接运行,需要打 jar 包时,在 META-INF/MANIFEST.MF 文件里指定 Main-Class。关于这种打包操作参考 Maven 生成(打包)带有依赖的可以直接执行的一个 jar 包。

    2

    jar 包运行时指定 Main-Class

    java -cp MyJar.jar com.xxx.xxx.MyMainClass arg0 arg1
    

    通过 -cp 参数指定要运行的带有 main 方法的类,类路径需要在 jar 包后面指定即可。

    展开全文
  • 主要介绍了如何将java打包成可执行的jar,并执行jar包中指定的main方法的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
  • java命令行运行jar包详解2016

    千次阅读 2021-02-26 21:28:30
    java命令行运行jar包详解2016jar包是什么呢?jarjava archive file 的简写。从名字就可以知道,它的应用与Java息息相关。下面就详细介绍如何自己生成jar包,这样我们管理我们自己的代码(尤其是一些比较重要而且不会...

    java命令行运行jar包详解2016

    jar包是什么呢?jar是java archive file 的简写。从名字就可以知道,它的应用与Java息息相关。下面就详细介绍如何自己生成jar包,这样我们管理我们自己的代码(尤其是一些比较重要而且不会或者很少有修改的代码)。下面一起来学习jar命令的一些常用方法,仅供参考!

    bb07eb75a81cca4ed84f2d4eed1f8c86.png

    安装好JDK之后,jar.exe就已经安装好了。在命令行中键入jar命令之后,就会出现下图。里面详细的介绍了jar命令的用法:

    下面我们举例介绍jar命令的一些比较常用的用法。

    一.jar cvf 生成jar包的完整名称 要生成的class文件所在目录以及名称

    例如: jar cvf d:/test.jar e:/review/coreJava/chapter4/Employee.class 表示将目录e:/review/coreJava/chapter4下面的Emlopyee.class生成jar文件并存放在d盘下面的test.jar里面。效果如下:

    在d盘下面查看,证明已经生成了jar文件:

    这是将一个单独的class文件生成jar包,那要是想将位于不同的包下面的大量的class文件打包生成jar文件,也即生成的效果如下图所示,又该怎么做呢?

    首先要想生成的效果如上图所示,那么第一步位于不同文件夹下面的.class文件必须使用package关键字打包。然后使用命令生成jar文件。例如,在笔者E:\review\coreJava目录下面有一些笔者平时练习时候的class文件,Java源文件代码中都对它们使用package关键字打包了。如图:

    那么使用如下命令就可以将其生成如上图所示的jar文件。步骤如下:

    1.首先上面四个目录中的所有class文件必须使用package打包,例如chapter5下面的所有class文件必须使用package review.coreJava.chapter5。

    2.在命令行里切换到review目录所在的目录下面,笔者这里应该切换到e:盘下面。(这一步很关键)

    3.使用如下命令: jar cvf d:/test.jar review/coreJava。

    回车之后会看到如下所示表示成功:

    将其导入到Eclipse中,可以看到如下图所示:

    这样就可以像使用其他jar包一样使用你自己的jar包了。

    二.jar cf 生成jar包的完整名称 要生成的class文件所在目录以及名称

    这个命令的使用方法和上面一样,唯一的区别就是这个命令在生成jar文件的.过程中不会显示详细信息。如图:

    虽然没有显示详细信息,但是它的的确确生成了example.jar。

    三.jar tf 生成jar包的完整名称 要生成的class文件所在目录以及名称

    使用方法同上。区别是该命令会显示文件中包含的所有目录和文件名列表。笔者这里就不一一演示了。

    四.jar tvf 生成jar包的完整名称 要生成的class文件所在目录以及名称

    使用方法同上。区别是除了显示文件中包含的所有目录信息和文件列表以外,还会显示各目录和文件的大小、创建时间等信息。

    以上就是有关生成jar文件的方法,希望对大家学习java语言有所帮助!

    【java命令行运行jar包详解2016】相关文章:

    展开全文
  • java jar打包命令使用

    千次阅读 2021-03-05 23:48:01
    用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...选项:-c 创建新的存档-t 列出存档内容的列表-x 展开存档中的命名的(或所有的〕文件-u 更新已存在的存档-v 生成详细输出到标准输出上-f ...
  • 一、如果java定义了jar包的main class入口,则使用如下命令 $ java -jar my.jar 二、如果Java没有定义jar的main class入口,则使用如下命令 $ java -cp my.jar com.example.MainClass
  • Linux 运行 jar 包命令

    千次阅读 多人点赞 2021-06-03 17:44:06
    Linux 运行 jar 包命令
  • linux下Java执行jar包命令

    千次阅读 2015-09-23 16:31:32
    jar需设置Main类 java -jar XXX.jar
  • java后台启动jar包的一些命令

    千次阅读 2022-03-04 16:32:00
    jar包所在文件夹打开命令窗口,输入以下命令 java -jar app.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 启动方式二 java -jar app.jar & &代表在后台运行。 ...
  • Linux 运行jar包命令如下: 方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar shareniu.jar & &代表在后台...
  • ├── Main.java └── com └── javartisan ├── Main.class └── Main.java 文件内容 ├── Main.class public class Main { public Main() { } public static void main(String[] var0)...
  • 为什么java -jar命令终端的窗口关闭就停止运行了??tomcat中war的就不会? 关闭终端的窗口相当于ctrl+c的命令,关闭了窗口就相当于停止了java -jar这个进程,即ctrl+c,如果是在tomcat的容器中的话,如果停止...
  • Linux运行jar包命令

    万次阅读 2021-01-20 11:52:36
    linux下运行jar包命令 1、java -jar xxxxx.jar // 当前xshell窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 2、java -jar xxxxx.jar & //当前shell窗口不被锁定,但是当窗口关闭时,程序...
  • Java 之使用 jar 命令打包

    千次阅读 2021-04-07 10:40:04
    为何打包(jar包)?为了项目的部署和发布,你的程序可能使用很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,可以方便使用,通常在打包时候,会在里面... jar包,别人拿到这个jar包之后,双击它从而运行
  • java 中让jar包在后台运行命令
  • 前尘回顾:setup.bat[chenquan@hostuser tartest]$ cat ../setup.shjavac -encoding UTF-8 -Djava.ext.dirs=./ -d . ./SignNatureTest.javaecho compile finished,generate .class under package test at curdirjava...
  • 使用Bootstrap Classloader来加载这些类 我们可以在运行时使用如下参数: -Xbootclasspath:完全取代系统Java classpath....win32 java -Xbootclasspath/a: some.jar;some2.jar; -jar test.jar unix java
  • 用eclipse导出(也可以用jar命令)jar,并指定Main-Class,比如Main-Class:com.skymobi.csj.CsjMainstep2:编写batstep2.1:添加classpath,要将所有依赖的jar和properties用绝对路径加入,注意必须绝对路径,然后...
  • java 打jarJAR命令

    千次阅读 2020-04-07 16:36:25
    JAR命令 JAR命令参数: ...-e:为捆绑到可执行jar文件的独立应用程序指定应用程序入口点 -m:指定manifest.mf文件.(manifest.mf文件中可以对jar及其中的内容作一些一设置) -0:产生jar时不对其...
  • IDEA打包jar包运行jar包命令

    千次阅读 2022-05-19 17:47:13
    jar包:文件全称Java Archive File,Java档案文件: ***用于将类文件打包,方便移植使用; ***文件格式与常见的ZIP压缩文件类似,可用常见解压软件打开; ***文件默认包含一个名为META-INF/MANIFEST.MF的清单文件...
  • 查看java运行程序:ps -aux | grep java 杀死java进程:kill -9 java程序的进程号 监听端口号是否启用:netstat -ano | grep 9002 在后台持续运行java程序:nohup java -jar hanidoll-com.jar 测试运行java...
  • javajar包运行之-jar和-cp命令

    千次阅读 2021-07-29 13:29:13
    或多或少,我们都会见到用这两种命令启动java程序,最基本的用法如: java[options] -jar xxx.jar[args] java [options] -cp xxx.jar classname [args] 那这两种用法有什么区别呢? 我们先写一个简单的测试类...
  • 1、在IDE里打包一个 jar 项目2、到 target 目录下复制出jar包,可以把这个 jar 的名字修改3、解压,打开 META-INF/MANIFEST.MF(如果没有,自己创建一个META-INF文件夹,创建一个MANIFEST.MF的文件),在最后一行...
  • 1.jar 命令的基本说明 在cmd 中输入 jar 回打印出 jar 命令的相关参数, 常用的几个参数如下 : -c : 创建.jar文件 ...2.打jar包的基本思路 1.编译项目,将java文件统统编译为 class文件 2.打包class文件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 349,562
精华内容 139,824
关键字:

java运行jar包命令