一、生成单个文件的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文件夹,文件结构如下
  2. idea单独java文件怎么编译运行_idea

  3. 在当前文件夹下,运行cmd窗口,执行指令:jar cvfm test.jar MANIFEST.MF ceshi 执行后,得到test.jar文件,如下
  4. idea单独java文件怎么编译运行_idea_02


  5. idea单独java文件怎么编译运行_jar_03

  6. 继续在cmd窗口,运行 java -jar test.jar
  7. idea单独java文件怎么编译运行_idea单独java文件怎么编译运行_04

  8. 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
  2. idea单独java文件怎么编译运行_idea单独java文件怎么编译运行_05

  3. 依次选择Artifact–>JAR–>From module with dependecies
  4. idea单独java文件怎么编译运行_idea_06

  5. 在弹出的窗口选择项目和运行的主类:
  6. idea单独java文件怎么编译运行_jar文件_07

  7. Directory for META-INF选项 有的博客说需要改一下,不然会报错,但我没改,运行也没错,所以,这个大家自行看吧,后面如果运行错了,就把这里改一下。
  8. 点击确定,出现如下界面继续点击ok。回到编辑主界面。
  9. idea单独java文件怎么编译运行_jar_08

  10. 点击Build–>Build Artifacts
  11. idea单独java文件怎么编译运行_java_09

  12. 选择刚才生成的Artifact,点击build。
  13. idea单独java文件怎么编译运行_idea单独java文件怎么编译运行_10

  14. 去第4步中的output director中找生成的jar文件
  15. idea单独java文件怎么编译运行_idea_11

  16. 当前目录下运行java -jar lintonUtils.jar,成功输出
  17. idea单独java文件怎么编译运行_jar_12