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


    一、准备工作、执行命令

      学习插件:

        学习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

  • 相关阅读:
    森田疗法
    “不支持一个STA线程上针对多个句柄的WaitAll。”的解决方案
    烽火HG226信息
    祝贺小牛队得NBA总冠军
    .net4调用非托管代码出现:PInvoke调用导致堆栈不对称
    大怪路子逻辑
    C#内存复制与比较
    【收藏】UDP广播和多播
    Objectivec NSString
    Objectivec NSDictionary(NSMutableDictionary)
  • 原文地址:https://www.cnblogs.com/enshrineZither/p/3441750.html
Copyright © 2020-2023  润新知