1.打包时附加外部Jar包

  <!--编译+外部 Jar打包-->
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
              <encoding>UTF-8</encoding>
              <compilerArguments>
                   <extdirs>${project.basedir}/libs</extdirs>
               </compilerArguments>
            </configuration>
         </plugin>

2.打包时附加源码
          <!-- 源码打包 -->
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
           <!-- 完成绑定.执行完打包后执行 -->
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals><goal>jar-no-fork</goal></goals>
                </execution>
            </executions>
            </plugin>

3.pom依赖打包
            <!-- 依赖打包 -->
            <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.4</version>
                <configuration>

      <!--这部分可有可无,加上的话则直接生成可运行jar包-->
                    <!--<archive>
                       <manifest>
                            <mainClass>${exec.mainClass}</mainClass>
                        </manifest>
                    </archive>-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>  
                  <execution>
                    <id>make-assembly</id>  
                    <phase>package</phase>
                    <goals><goal>single</goal></goals>  
                  </execution>  
                </executions>
          </plugin>

打包依赖的class文件命令:

  mvn assembly:assembly

如果不希望依赖的JAR包变成CLASS

  可以修改ASSEMBLY插件.本地地址一般是 ${user_home}\.m2\org\apache\maven\plugins\maven-assembly-plugin\2.4
  打开此目录下的maven-assembly-plugin-2.4.jar,找到assemblies\jar-with-dependencies.xml 把里面的UNPACK改成FALSE即可

maven源码打包的更多相关文章

  1. 【maven】maven源码打包

    1.打包时附加外部Jar包 <!--编译+外部 Jar打包-->          <plugin>            <artifactId>maven-co ...

  2. 使用 maven 自动将源码打包并发布

    1.maven-source-plugin 访问地址 在 pom.xml 中添加 下面的 内容,可以 使用 maven 生成 jar 的同时 生成 sources 包 <plugin> & ...

  3. Eclipse工具查看依赖的JDK、Maven源码方法

    一.Eclipse软件里查看JDK依赖源码 1.Window->Preferences->Java->Installed JREs 2.如图: 二.Eclipse软件里查看Maven ...

  4. 120多套各种类别微信小程序模板源码打包下载

    120多套各种类别微信小程序模板源码打包下载,以下是部分截图欢迎下载!120多套各种类别微信小程序模板源码打包下载 下载地址:https://pan.baidu.com/s/1Cfqyc9p2ZDOc ...

  5. 【曹工杂谈】Maven源码调试工程搭建

    Maven源码调试工程搭建 思路 我们前面的文章<[曹工杂谈]Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗>分析了Maven大体的执行阶段,主要包括三个阶段: 启动类阶段,负责 ...

  6. Maven 源码解析:依赖调解是如何实现的?

    系列文章目录(请务必按照顺序阅读): Maven 依赖调解源码解析(一):开篇 Maven 依赖调解源码解析(二):如何调试 Maven 源码和插件源码 Maven 依赖调解源码解析(三):传递依赖, ...

  7. Maven 依赖调解源码解析(二):如何调试 Maven 源码和插件源码

    本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第二篇,主要介绍如何调试 Maven 源码和插件源码.系列文章总目录参见:https://www.cnblogs.com/xi ...

  8. rocketmq源码打包步骤

    1,从git上面克隆好源码之后,进入rocketmq目录,执行: mvn -Prelease-all -DskipTests clean install 2,打包完成之后,进入distribution ...

  9. maven源码分析- mvn.bat分析

    第一次知道MAVEN是在2008年,当时想分析geoserver这个开源项目,发现该项目采用了maven进行项目管理,当时粗略的学习了一下.真正在工作中使用是在09年下半年,个人感觉使用起来还是非常好 ...

随机推荐

  1. python 绘制点线

    plot(x, y) #默认为蓝色实线 plot(x, y, 'r*') #红色星状标记 plot(x, y, 'go-') #带有圆圈标记的绿线 plot(x, y, 'ks:') #带有正方形标记 ...

  2. hdoj3138

    题意:略 各点向原信念连INF+1的边,不同信念连INF的边,这样割原信念花费大一点.然后好友连1的边.最小割的结果-n*INF就是答案,因为割到哪边最少都要INF. #include <ios ...

  3. 在docker中运行mariadb程序

    安装docker 获取mariadb镜像 docker pull mariadb 首先在https://hub.docker.com查找mariadb官方镜像,相关参数设置https://hub.do ...

  4. CentOs 6.8配置yum源

    1:使用root权限,从根目录到yum.repo.d文件下 cd etc/yum.repos.d 2.备份ContOS.repo mv CentOS-Base.repo CentOS-Base.rep ...

  5. chrome 和IE 上传的文件,在net 后台取值Request.Form.Files[0].FileName 的不同

    chrome 和IE 上传的文件,在net 后台取值Request.Form.Files[0].FileName 的不同 chrome 获得的是不含路径的纯文件名 IE获得的是含路径的文件名

  6. ES5和ES6那些你必须知道的事儿(三)

    ES5和ES6那些你必须知道的事儿 ES6新增的东西 一.块级作用域:关键字let,常量const let与var的区别: a.不会进行变量声明提升 b.变量不允许被重复定义 c.变量不允许被删除 d ...

  7. C# Thread IsAlive 理解

    IsAlive的功能就是判断当前线程是否处于活动状态. public class Program { public static void Main(string[] args) { try { Wr ...

  8. js 调用后台,后台调用js

    <html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat=" ...

  9. 微信公众号手机无法直接下载APK文件是怎么回事

    现在微信分享的功能很多,从分享的链接下载apk安卓包是很正常的,但是微信不让下载apk包,只能通过浏览器来下载,但是这要给用户一个提示吧,不然用户不知道 下面我们来实现,引导用户通过浏览器来下载apk ...

  10. xcode打包苹果应用遇到的问题及解决方法

    1.手机升级到iOS 10之后,运行真机出现了Development cannot be enabled while your device is locked. 原因分析: 这里是你对这台电脑设置了 ...