将main方法打成jar包,并引用第三方的maven jar包

Posted on 2013-11-25 16:30  炫谷  阅读(8488)  评论(0编辑  收藏  举报

一、准备工作、执行命令

  学习插件:

    学习apache的打包插件maven-assembly-plugin:http://maven.apache.org/plugins/maven-assembly-plugin/usage.html

  执行命令:

    将打成的jar包,执行java -jar XXX.jar,即可!

二、main方法打成jar包,并引用第三方maven jar包的两种方法

 方案一:使用assembly插件

  1.在pom.xml里面配置的build

 1 <build>
 2         <plugins>
 3             <plugin>
 4                 <groupId>org.apache.maven.plugins</groupId>
 5                 <artifactId>maven-assembly-plugin</artifactId>
 6                 <version>2.3</version>
 7                 <configuration>
 8                     <archive>
 9                         <manifest>
10                             <!-- <addClasspath>true</addClasspath> -->
11                             <mainClass>com.pasier.dbutil.DB2Mysql</mainClass>
12                         </manifest>
13                     </archive>
14                     <descriptors>
15                         <descriptor>assembly.xml</descriptor>
16                     </descriptors>
17                 </configuration>
18                 <executions>
19                     <execution>
20                         <id>make-assembly</id>
21                         <!-- this is used for inheritance merges -->
22                         <phase>package</phase>
23                         <!-- bind to the packaging phase -->
24                         <goals>
25                             <goal>single</goal>
26                         </goals>
27                     </execution>
28                 </executions>
29             </plugin>
30         </plugins>
31     </build>

  2.pom中引用了assembly.xml文件说明

 1 <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
 4   <id>uberjar</id>
 5   <formats>
 6     <format>jar</format>
 7   </formats>
 8   <includeBaseDirectory>false</includeBaseDirectory>
 9   <dependencySets>
10     <dependencySet>
11       <unpack>true</unpack>
12       <scope>runtime</scope>
13     </dependencySet>
14   </dependencySets>
15   <fileSets>
16     <fileSet>
17       <directory>${project.build.outputDirectory}</directory>
18       <outputDirectory>/</outputDirectory>
19     </fileSet>
20   </fileSets>
21 </assembly>

 简单说明:<unpack>属性是指,引用的第三方jar包是否解压,如果为true,则解压第三方jar包为单独的文件目录;如果为false,则是将第三方jar包打进你的工程jar包下。

 见下图,为<unpack>true</unpack>属性解压后的org下的apache、slf4j等引用class文件目录:

  3.maven打成jar包命令

mvn package

  4.将生成的jar包放在目录下执行即可

java -jar XXX.jar

 方案二:安装Eclipse打包插件Fat Jar 

  安装方法:

  1. Eclipse在线更新方法
    Help > Install New Software > Add,
    name:Fat Jar
    location:http://kurucz-grafika.de/fatjar
  2. Eclipse插件手动安装方法
    下载地址:http://downloads.sourceforge.net/fjep/net.sf.fjep.fatjar_0.0.27.zip?modtime=1195824818&big_mirror=0

         或者 http://cloud.suning.com/cloud-web/share/link.htm?sk=c6cd34d99b992b66ddc21cdb61e1c32f
    将解压出的plugins中的文件复制到eclipse安装目录中的plugins目录下,然后重启eclipse即可。

     使用方法:

   步骤1:右击工程项目选择Buile Fat Jar

    

     步骤2:配置jar文件存放目录,主Main文件等,如下图

    

   步骤3:选择所要用到的第三方jar包

    

方案2参考博客http://www.cnblogs.com/lanxuezaipiao/p/3291641.html

Copyright © 2024 炫谷
Powered by .NET 9.0 on Kubernetes