手动打包 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