idea打包jar包_利用MAVEN打包可运行jar包,包括依赖的第三方包

利用MAVEN打包可运行jar包,包括依赖的第三方包

转载自:http://bglmmz.iteye.com/blog/2058914

背景:

另一篇文章说了如何利用IDEA来打包,现在来说说如何利用MAVEN打包

目标:应用本身打成一个jar包,依赖的第三方包放到lib目录下

开发环境

OS:Windows 8.1

JDK:1.7.0

开发工具:IntelliJ IDEA 13.1.1

步骤:

1. 首先看下maven项目的标准目录结构:

8abe62dead40e2bce8858bacd0a6f6e7.png

2. 看下项目pom.xml的配置,首先要配置maven-jar-plugin,把自己的代码编译打包成jar文件,然后配置maven-assembly-plugin,把整个项目打包成一个发布包。

Xml代码  323fe32eada73a6b218b1a874074bb2c.png

  1. <build>  

  2.     <plugins>  

  3.         <plugin>  

  4.             <groupId>org.apache.maven.pluginsgroupId>  

  5.             <artifactId>maven-jar-pluginartifactId>  

  6.             <version>2.4version>  

  7.             <configuration>  

  8.                 <archive>  

  9.                     <addMavenDescriptor>falseaddMavenDescriptor>  

  10.                     <manifest>  

  11.                         <addClasspath>trueaddClasspath>  

  12.                         <classpathPrefix>lib/classpathPrefix>  

  13.                         <mainClass>dbRobot.BeanRobotmainClass>  

  14.                     manifest>  

  15.                 archive>  

  16.                 <excludes>  

  17.                     <exclude>${project.basedir}/xml/*exclude>  

  18.                 excludes>  

  19.             configuration>  

  20.         plugin>  

  21.         <plugin>  

  22.             <groupId>org.apache.maven.pluginsgroupId>  

  23.             <artifactId>maven-assembly-pluginartifactId>  

  24.             <version>2.4version>  

  25.             <configuration>  

  26.                 <descriptors>  

  27.                     <descriptor>src/main/assembly/package.xmldescriptor>  

  28.                 descriptors>  

  29.             configuration>  

  30.             <executions>  

  31.                 <execution>  

  32.                     <id>make-assemblyid>  

  33.                     <phase>packagephase>  

  34.                     <goals>  

  35.                         <goal>singlegoal>  

  36.                     goals>  

  37.                 execution>  

  38.             executions>  

  39.         plugin>  

  40.     plugins>  

  41. build>  

 3. 再来看package.xml的配置

Xml代码  323fe32eada73a6b218b1a874074bb2c.png

  1. <assembly>  

  2.     <id>binid>  

  3.     <formats>  

  4.         <format>zipformat>  

  5.     formats>  

  6.     <dependencySets>  

  7.         <dependencySet>  

  8.             <useProjectArtifact>falseuseProjectArtifact>  

  9.             <outputDirectory>liboutputDirectory>  

  10.             <unpack>falseunpack>  

  11.         dependencySet>  

  12.     dependencySets>  

  13.     <fileSets>  

  14.         <fileSet>  

  15.             <directory>${project.basedir}directory>  

  16.             <outputDirectory>/outputDirectory>  

  17.             <includes>  

  18.                 <include>README*include>  

  19.                 <include>LICENSE*include>  

  20.                 <include>NOTICE*include>  

  21.             includes>  

  22.         fileSet>  

  23.         <fileSet>  

  24.             <directory>${project.basedir}\src\main\configdirectory>  

  25.             <outputDirectory>configoutputDirectory>  

  26.             <includes>  

  27.                 <include>*.xmlinclude>  

  28.                 <include>*.propertiesinclude>  

  29.             includes>  

  30.         fileSet>  

  31.         <fileSet>  

  32.             <directory>${project.build.scriptSourceDirectory}directory>  

  33.             <outputDirectory>outputDirectory>  

  34.             <includes>  

  35.                 <include>startup.*include>  

  36.             includes>  

  37.         fileSet>  

  38.         <fileSet>  

  39.             <directory>${project.build.scriptSourceDirectory}directory>  

  40.             <outputDirectory>outputDirectory>  

  41.             <includes>  

  42.                 <exclude>startup.*exclude>  

  43.             includes>  

  44.         fileSet>  

  45.         <fileSet>  

  46.             <directory>${project.build.directory}directory>  

  47.             <outputDirectory>outputDirectory>  

  48.             <includes>  

  49.                 <include>*.jarinclude>  

  50.             includes>  

  51.         fileSet>  

  52.     fileSets>  

  53. assembly>  

4. 经过jar和assembly,最终得到一个可发布的zip文件,内容结构如下:

5db7d6ea635e3e27eeec1a92941ba070.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值