使用java -jar运行jar包

摘要 其实不难,网上搜了不少,但是讲不全,或者讲得不少,有的细节却漏掉了, 在此,我想将详细点

1.其实命令比较简单:进入相应的目录后,执行java -jar XXX.jar即可!

2.但是,为什么通过Maven打包或者Eclipse export出来的jar不能运行呢?原因很简单,没指定执行哪个类的main方法,如何指定?配置文件,项目文件夹下有一个META-INF文件夹,META-INF文件夹下有一个MANIFEST.MF文件,只要更改该文件就可以了

3.默认该文件内容是:

Manifest-Version: 1.0
Created-By: 1.4.2(Sun Microsystems Inc.)

将其改成

Manifest-Version: 1.0
Created-By: 1.4.2(Sun Microsystems Inc.)
Main-Class: XXX.XXX.XXX.XXX

 

注意:

Main-Class后面X部分是包名.类名

Main-Class:后面有个空格,下面还有空的一行

4.改好内容后,怎么将其打成jar包呢?

我试过,直接用winrar打包,然后改后缀名,不行,

以下这种方法可行:

假设你的jar包名为myJar.jar:

(1)先将myJar.jar解压至myJar(在同一层文件夹)

(2)进入myJar文件夹,再进入META-INF文件夹,更改MANIFEST.MF文件,

按照步骤三的操作即可

(3)保存后退到myJar.jar同一层目录,然后执行jar umf myJar/META-INF/MANIFEST.MF myJar.jar

如果没报错,并生成了XXX.tmp文件,就说明执行成功,

打开myJar.jar就可以看到MANIFEST.MF文件已经被改成了相应的需要的文件了

(4)在当前目录执行java -jar myJar.jar即可

使用java -jar运行jar包的更多相关文章

  1. [Java] 可运行 jar 记录

    在 Eclipse 上,通过 Export 选择 Java 下的 Runnable JAR file ,可以将项目导出一个可执行的 jar 包. 例子如下 1. Eclipse 项目只有一个文件 ma ...

  2. jdk的安装 打包jar 运行jar

    安装 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0) 系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME ...

  3. java指定运行jar包中的其中一个main方法

    java -cp jar包 类名 java -cp ******.jar com.******.EsEtl

  4. java命令运行带包的类

    类文件d:\test2.java package b; public class test2 {    public static void main(String[] args) {         ...

  5. maven 打包可运行jar包(转)

    目录 1.前提 2.方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 3.方法二:使用maven-assembly-plugin插件打包 4.方法三 ...

  6. Springboot项目打包成jar运行2种方式

    最近公司有个项目需要移植到SpringBoot框架上,项目里面又有许多第三方jar包,在linux服务器上最方便的就是用jar的方式来运行SpringBoot项目了,因此我研究了2种打jar包的方式, ...

  7. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  8. Intellij IDEA下导出Java工程的可运行JAR包

    Intellij IDEA下导出Java工程的可运行JAR包 昨天一直向导出一个Java工程的可运行JAR包,然后查阅网上的资料以及自己一遍一遍的尝试,均以失败告终.可以导出JAR包,但是导出的JAR ...

  9. java 项目打jar包,用cmd运行,并且编写运行脚本

    项目是ideal编辑器的springboot项目的demo.打包就是在侧边栏,点击packge ,就会在target下生成jar包. 生成之后把 jar包放在一个文件夹中.新建一个txt文件,在txt ...

随机推荐

  1. Java IO流文件复制/解压的几种方法总结

    引言 在JavaWeb项目开发过程,涉及到IO文件的读写操作以及文件的复制copy操作是作为一个程序员不可获取的知识,那接下来就总结一些copy文件的一些方法,与大家通过学习,如果还有其他更好的方法, ...

  2. mysql行列转置

    --创建行转列表及插入数据 create table tb_RowConvertToColumn ( username nvarchar(100) null, course nvarchar(100) ...

  3. SQlserver 当输入参数为可选条件

    以前很懒,都是用拼接字符串的方式,加上if 语句,根据输入参数是否为空来判断是否需要在where 后加上对应字段的条件限制 但是拼接字符串很烦,又总是被转义符搞得很烦  '''' 所以想了其他办法 分 ...

  4. 06-联系人管理(xib应用)

    ViewController.h文件中: @interface ViewController : UIViewController - (IBAction)add:(UIBarButtonItem * ...

  5. IVVI SK3-02小骨酷派SK3-02 进入第三方 recovery 刷机 ROOT

    首先下载好工具:http://url.cn/5AS7IiB 备用连接 :https://pan.baidu.com/s/1jJmbYAi 本篇教程教你如何傻瓜式解锁BootLoader并进入临时rec ...

  6. OpenCV:Python3使用OpenCV

    Python3使用OpenCV安装过程应该是这样的,参考:http://blog.csdn.net/lixintong1992/article/details/61617025    ,使用conda ...

  7. 图像连通域检测的2路算法Code

    本文算法描述参考链接:http://blog.csdn.net/icvpr/article/details/10259577 两遍扫描法: (1)第一次扫描: 访问当前像素B(x,y),如果B(x,y ...

  8. ROS和OpenCV的对接cv_bridge

    做一个诚实的ROS教程搬运工............................. 官网链接:http://wiki.ros.org/cv_bridge 一.Package Summary Rel ...

  9. POJ_2063_完全背包

    Investment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10090   Accepted: 3540 Descr ...

  10. Type class-Typeclass-泛型基础上的二次抽象---随意多态

    对泛型的类型添加约束,从而使泛型类型的变量具有某种通用操作. 再使用这些操作,参与到其它操作中. In computer science, a type class is a type system  ...