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

手动打包 Jar

程序员文章站 2022-05-04 18:09:06
...

源码

package test;

import java.util.Scanner;
import java.util.InputMismatchException;

class Demo{
  public static void main(String[] args)   {
    Scanner scanner = new Scanner( System.in );
    while(true){
      try{
        System.out.print( "请输入一个数字,判断奇偶性: " );

        String str = scanner.nextLine();
        if("exit".equalsIgnoreCase(str) || "quit".equalsIgnoreCase(str) ){
          System.out.println("谢谢使用,再见!");
          break;
        }

        long l = Long.parseLong(str);

        if(isOdd(l)){
          System.out.println(String.format("您输入的【%d】是------------【奇数】---------------\n", l));
        }else{
          System.out.println(String.format("您输入的【%d】是=======【偶数】========\n", l));
        }

      }catch(Exception e){
        System.out.println("只能输入一个整数!");
      }
    }
    scanner.close();
  }

  public static boolean isOdd(long a){
    if((a&1) == 1){   //是奇数
      return true;
    }
    return false;
  }
}

目录结构:

F:.
└─MyObject
        Demo.java

编译:

 F:\MyObject>javac -d . Demo.java
F:.
└─MyObject
    │  Demo.java
    │
    └─test
            Demo.class

执行:

 F:\MyObject>java test.Demo

打包jar

F:\MyObject>jar -cef test.Demo Demo.jar test
F:.
└─MyObject
    │  Demo.jar
    │  Demo.java
    │
    └─test
            Demo.class

执行 jar 包:

F:\MyObject>java -jar Demo.jar

执行效果

F:\MyObject>java -jar Demo.jar
请输入一个数字,判断奇偶性: 666
您输入的【666】是=======【偶数】========

请输入一个数字,判断奇偶性: 999
您输入的【999】是------------【奇数】---------------

请输入一个数字,判断奇偶性: exit
谢谢使用,再见!

F:\MyObject>

jar包解压后得到 Demo 文件夹。

F:.
└─MyObject
    │  打包.bat
    │
    └─Demo
        ├─META-INF
        │      MANIFEST.MF
        │
        └─test
                Demo.class

jar包解压后再打回去

批处理:用于将 Demo 文件夹重新打包为 jar (我们可以修改下Demo.java重新编译个 class 放回来打包jar)

set/p packageName= 输入打包目录:
cd /d %~dp0/%packageName%
jar cvfm %packageName%.jar META-INF/MANIFEST.MF .
java -jar %packageName%.jar
相关标签: java jar