有时候我们需要执行一个工具类,又不想打开整个项目运行,可以采用将工具类打包成jar,然后直接在dos窗口中命令行运行。
目录
如下图的工具类,引用了外部依赖包log4j-1.2.17.jar和ojdbc14.jar
1、将外部依赖包和java文件放到一个文件夹下
2、编译java文件
javac -encoding UTF-8 -classpath .;./log4j-1.2.17.jar;./ojdbc14.jar -d . Mytest.java
- -encoding UTF-8 防止中文乱码
- -classpath 指定依赖包,多个用;分割
- -d . 会在当前执行目录下生成 一个java所在的包名的(这里我的是test)目录,以及编译后的class文件
- Mytest.java 指定要被编译的java文件
3、检查运行class文件是否能正常运行
java -classpath .;log4j-1.2.17.jar;ojdbc14.jar com.utils.Mytest
- com.utils.Mytest是class文件路径
4、指定Main-Class
上一步编译完成后,Testjar目录下便生成了com文件夹,如下图:
此时,在Testjar文件目录下,建一个文件A(如1.txt)
- 文件内容为:Main-Class:(空格)全类名(回车)
- 1.txt文件内容为:Main-Class: com.utils.Mytest 回车
5、使用jar命令打包
jar -cvfm Mytest.jar 1.txt com
- c:指定是创建新的归档文件。
- v:在标准输出中生成详细输出,该选项是可选的。
- f:指定打包后的包名。
- m:指定自定义的MANIFEST.MF清单文件,否则,JDK会自动生成不包含Main-Class的默认清单。
- 1.txt:文件A
- com:包的顶级目录
打包后,此时文件夹内容如图:
6、运行jar
java -jar Mytest.jar
到此,我们就完成了用cmd命令打包成jar,如果是整个项目打成jar包,我们可以用maven来实现。