本文只是稍作整理,原文见没有IDE如何编译JAVA项目
- 编译工程
javac -d {指定class文件存放目录} {源文件目录/*.java}`
例:
javac -encoding utf-8 -d ./classes ./src/com/xiangpeng/GUI/chat/*.java
-encoding utf-8 是为了防止出现"32: 错误: 编码GBK的不可映射字符"错误
- 将编译的class打成jar包
先进入class文件存放目录
jar -cvf [jar包名] ./*
./* 表示编译当前目录下的所有文件到jar包中
- 更新jar包中的MANIFEST.MF文件
使用jar命令生成的jar包暂时还不可用,因为没指定main方法所在文件,所以需要进行配置,配置在jar包中的"/META-INF/MANIFEST.MF"修改
(1) 先解压jar包,进入 “包名/META-INF” 文件,使用记事本打开MANIFEST.MF
(2) 在文件中添加命令
Main-Class:[main方法所在类全名]
例:
Main-Class: com.xiangpeng.GUI.chat.ChatUI
(3) 合并解压文件中的MANIFEST.MF与jar包中的MANIFEST.MF
执行命令:
jar -uvfm [jar包名] [MANIFEST.MF文件路径]
例:
jar -uvfm chatGUI.jar chatGUI/META-INF/MANIFEST.MF
至此,jar包完成,可调用java -jar 命令运行:
java -jar chatGUI.jar
备注:
修改与2019/10/20 喵了个咪的,MANIFEST.MF文件后面一定要留一个空行,否则最后一行配置不认