(1)在pom里配置:
maven-assembly-plugin
jar-with-dependencies
com.zzg.mybatis.generator.MainUI
make-assembly
package
single
其中说明:
便签mainClass中配置的com.zzg.mybatis.generator.MainUI是整个jar的运行入口类,类似于可运行的java类的入口方法main()。
(2)打包成jar输出:项目右键——Run As——Maven install
或者在项目工作空间运行:mvn package
或
执行结果:
(3)打出的jar的位置
在项目的target文件下出现两个jar:
生成两个文件:mybatis-generator-gui-0.8.8-SNAPSHOT.jar和mybatis-generator-gui-0.8.8-SNAPSHOT-jar-with-dependencies.jar。
同时,如果Eclipse配置了maven(我的本地maven仓库:E:\mvnRepository),会在maven仓库也出现这两个jar:
(4)运行jar
java中的jar类似于windows中的exe文件,其中使用命令运行:
java -jar mybatis-generator-gui-0.8.8-SNAPSHOT.jar
执行结果:mybatis-generator-gui-0.8.8-SNAPSHOT.jar中没有主清单属性
java -jar mybatis-generator-gui-0.8.8-SNAPSHOT-jar-with-dependencies.jar
执行结果:正常。此jar包把原maven项目的所有依赖的jar包都打进去了,mybatis-generator-gui-0.8.8-SNAPSHOT-jar-with-dependencies.jar体积比mybatis-generator-gui-0.8.8-SNAPSHOT.jar更大。
按照此方法做出来的mybatis-generator-gui-0.8.8-SNAPSHOT-jar-with-dependencies.jar有问题:没有入口类
运行命令java -jar mybatis-generator-gui-0.8.8-SNAPSHOT.jar时
报错:mybatis-generator-gui-0.8.8-SNAPSHOT-jar-with-dependencies.jar中没有主清单属性
解决方法:
(1)需要在用360压缩打开java -jar mybatis-generator-gui-0.8.8-SNAPSHOT.jar,
(2)找到里面的META-INF文件夹里的MANIFEST.MF文件,用记事本打开
(3)在里面添加如下内容:
Main-Class: com.zzg.mybatis.generator.MainUI
注意:com前有空格,且MainUI后必须回车换行