eclipse把maven项目导出为jar文件实例(包括maven依赖文件jar包)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/superit401/article/details/86536315

(1)在pom里配置:

<plugin>
                   <artifactId> maven-assembly-plugin </artifactId>
                   <configuration>
                        <descriptorRefs>
                             <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <archive>
                             <manifest>
                                  <mainClass>com.zzg.mybatis.generator.MainUI</mainClass>
                             </manifest>
                        </archive>
                   </configuration>
                   <executions>
                        <execution>
                             <id>make-assembly</id>
                             <phase>package</phase>
                             <goals>
                                  <goal>single</goal>
                             </goals>
                        </execution>
                   </executions>
              </plugin>

其中说明:

便签mainClass中配置的com.zzg.mybatis.generator.MainUI是整个jar的运行入口类,类似于可运行的java类的入口方法main()。

(2)打包成jar输出:项目右键——Run As——Maven install

或在项目工作空间运行:mvn package

或项目右键——Run As——Maven build——Goals中输入package——点“Run”

执行结果:

(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后必须回车换行

综上:以上两个方法都需要打出的jar要有个运行入口类,这个类你必须要知道,否则就会报错:没有主清单属性,即程序找不到入口,不知道从哪里开始运行。

猜你喜欢

转载自blog.csdn.net/superit401/article/details/86536315