首先确保jdk环境安装正常
找出所有需要编译的java文件并保存到文件列表到javaFiles.txt
find src -name \*.java >javaFiles.txt
进入/code 目录下把需要编译的java类到写到javaFiles.txt 项目导入了lib库下的包,.java文件编译后变成.calss文件,存放在/root/class 目录下
javac -d /root/class -cp .:./lib/* @./javaFiles.txt
切换目录
cd /root/class
编译jar包 并且指定main
jar cvfm my.jar META-INF/mymanifest -C ./ .
会出现的问题
1. java -jar 之后出现,这是因为没有指定mymanifest文件
问题提示
no main manifest attribute, in my.jar
解决方法:
创建mymanifest文件
mymanifest文件内容,指定一下main所在的类
Main-Class: com.gaoAPI
2.java.io.IOException: invalid header field
问题提示
Java.io.IJava.io.IOException: invalid header fieldy
这是因为mymanifest文件出错,在mymanifest文件中,每个分号后都要加空格
3.Error: Could not find or load main class
问题描述
Error: Could not find or load main class
这是因为打jar包的时候类的路径和mymanifest不一致,找不到类
执行jar cvfm my.jar META-INF/mymanifest -C ./ .打包指令的时候会有输出
输出如下
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/gaoAPI/(in = 0) (out= 0)(stored 0%)
检查自己的mymanifest指定的类名是否在里面