程序员java

手动做一个可执行的jar包

2017-10-12  本文已影响286人  坏淡一个

SpringBoot项目可以直接打成jar包,发布到服务器上,通过java -jar命令执行,发布运行一个服务端的项目非常方便。
那SpringBoot的jar包是如何运行起来的呢?先手动做一个可执行的jar包吧

目录结构

image.png

程序代码

package com.compile.demo.bean;

public class Student {
    private String name;

    public Student(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
package com.compile.demo;

import com.compile.demo.bean.Student;
import org.apache.commons.lang3.StringUtils;

public class Main {
    public static void main(String[] args) {
        String str = "Hello ";
        Student s = new Student("zhangsan");
        if (StringUtils.isNotEmpty(str)) {
            System.out.println(str + s.getName());
        } else {
            System.out.println("为空!");
        }
    }
}

手动编译

  1. 执行: javac -encoding utf-8 -Djava.ext.dirs=libs -d classes src\com\compile\demo\*.java src\com\compile\demo\bean\*.java
  2. 当前目录结构:
    image.png
    手动编译的详细过程请参照:手动编译及执行java类(包含并引用第三方jar)

打jar包

  1. 创建MANIFEST.MF文件
Manifest-Version: 1.0
Main-Class: com.compile.demo.Main
Class-Path: commons-lang3-3.4.jar

请务必在文件的最后一行,至少加一个回车换行

  1. 再将手动编译的.class文件和引用的commons-lang3-3.4.jar移动到与MANIFEST.MF同一个目录下


    image.png
  2. 打包
    在该文件夹下执行:jar -cvfm compile.jar MANIFEST.MF com commons-lang3-3.4.jar
  1. 运行
    执行:java -jar compile.jar
    输出结果:Hello zhangsan

jar包结构

可借助IntelliJ IDEA来查看,图形化的结构看起来更清晰


image.png

根目录下是

上一篇 下一篇

猜你喜欢

热点阅读