欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

生成单个java文件的jar包和整个项目的jar包(IDEA)

程序员文章站 2022-03-30 16:36:47
...

一、生成单个文件的jar包

需要文件:一个hello.class,一个MANIFEST.MF文件

  1. 生成hello.class
    首先写下,如下代码:
package ceshi;
public class Hello {
    public static void main(String[] args) throws Exception {
        Hello hello = new Hello();
        hello.sayHello("gfsafafasdffffffffsdfasdfasdfasdfword. bingo!");
    }
    public void sayHello(String word) {
        System.out.println("hello, " + word);
    }
}

通过javac指令得到hello.class 文件
2. 新建MANIFEST.MF文件,写入以下内容

Manifest-Version: 1.0
Main-Class: ceshi.Hello

注意:这里的的Main-Class参数必须是ceshi.Hello,因为java文件中package是ceshi,前后必须统一,不然对不上。

  1. 将得到的class文件放入ceshi文件夹,文件结构如下
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  2. 在当前文件夹下,运行cmd窗口,执行指令:jar cvfm test.jar MANIFEST.MF ceshi 执行后,得到test.jar文件,如下
    生成单个java文件的jar包和整个项目的jar包(IDEA)
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  3. 继续在cmd窗口,运行 java -jar test.jar
    生成单个java文件的jar包和整个项目的jar包(IDEA)6. 大功告成!

PS1:在jar命令中的参数解释:cvfm
其中c代表:创建新的JAR文件包
v代表:生成详细报告并打印到标准输出
f代表:指定jar文件名
m代表:指定需要包含的MANIFEST文件清单

PS2:jar文件其实就是多了META-INF的zip文件,因此,把test.jar文件扩展名改为zip,就可以打开,查看里面的文件结构。有一点java -jar test.zip,也可以运行成功,不过有时候不灵,而且你直接把ceshi文件夹和META-INF文件夹不通过jar命令,而是通过WinZip直接压缩成zip文件,也可以通过java -jar运行,我本地是可以的,不过有时候运行失败,具体还没搞清楚,大家也可以自行研究一下。

二、生成项目jar包(By IDEA)

项目jar包,我是通过IDEA生成的,具体操作如下

  1. 点击项目名,右键,选择:Open Module Setting
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  2. 依次选择Artifact–>JAR–>From module with dependecies
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  3. 在弹出的窗口选择项目和运行的主类:
    生成单个java文件的jar包和整个项目的jar包(IDEA)
    Directory for META-INF选项 有的博客说需要改一下,不然会报错,但我没改,运行也没错,所以,这个大家自行看吧,后面如果运行错了,就把这里改一下。

  4. 点击确定,出现如下界面继续点击ok。回到编辑主界面。生成单个java文件的jar包和整个项目的jar包(IDEA)

  5. 点击Build–>Build Artifacts
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  6. 选择刚才生成的Artifact,点击build。
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  7. 去第4步中的output director中找生成的jar文件
    生成单个java文件的jar包和整个项目的jar包(IDEA)

  8. 当前目录下运行java -jar lintonUtils.jar,成功输出
    生成单个java文件的jar包和整个项目的jar包(IDEA)

相关标签: Java