在pom.xml文件build节点下加入以下代码:

 1 <plugin>
 2         <groupId>org.apache.maven.plugins</groupId>
 3         <artifactId>maven-source-plugin</artifactId>  
 4         <version>2.1.1</version>
 5         <executions>
 6             <execution>
 7                 <id>attach-sources</id>
 8                 <phase>package</phase>
 9                 <goals>
10                     <goal>jar-no-fork</goal>
11                 </goals>
12             </execution>
13         </executions>
14 </plugin> 

用户可以根据需要将任何插件目标绑定到任何生命周期的阶段,如:将maven-source-plugin的jar-no-fork目标绑定到default生命周期的package阶段,这样,以后在执行mvn package命令打包项目时,在package阶段之后会执行源代码打包

execution下可配置phase属性, 意思是在什么阶段打包源文件。如<phase>install</phase>:在执行mvn install时打包源代码

DOS执行mvn install生成source.jar

 1 [INFO] ------------------------------------------------------------------------
 2 [INFO] Building common-base 0.0.1
 3 [INFO] ------------------------------------------------------------------------
 4 Downloading: http://121.41.105.153:8081/nexus/content/groups/public/org/apache/m
 5 aven/plugins/maven-source-plugin/maven-metadata.xml
 6 Downloaded: http://121.41.105.153:8081/nexus/content/groups/public/org/apache/ma
 7 ven/plugins/maven-source-plugin/maven-metadata.xml (746 B at 5.6 KB/sec)
 8 Downloading: http://121.41.105.153:8081/nexus/content/groups/public/org/codehaus
 9 /mojo/cobertura-maven-plugin/maven-metadata.xml
10 Downloaded: http://121.41.105.153:8081/nexus/content/groups/public/org/codehaus/
11 mojo/cobertura-maven-plugin/maven-metadata.xml (605 B at 4.7 KB/sec)
12 Downloading: http://121.41.105.153:8081/nexus/content/groups/public/org/apache/m
13 aven/plugins/maven-help-plugin/maven-metadata.xml
14 Downloaded: http://121.41.105.153:8081/nexus/content/groups/public/org/apache/ma
15 ven/plugins/maven-help-plugin/maven-metadata.xml (493 B at 3.7 KB/sec)
16 [INFO]
17 [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ common-b
18 ase ---
19 [INFO] Using 'UTF-8' encoding to copy filtered resources.
20 [INFO] Copying 6 resources
21 [INFO]
22 [INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ common-base -
23 --
24 [INFO] Compiling 180 source files to E:\cncrowd_workspace\common-deploy\common-b
25 ase\target\classes
26 [INFO]
27 [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @
28 common-base ---
29 [INFO] Using 'UTF-8' encoding to copy filtered resources.
30 [INFO] Copying 2 resources
31 [INFO]
32 [INFO] --- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) @ commo
33 n-base ---
34 [INFO] Nothing to compile - all classes are up to date
35 [INFO]
36 [INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ common-base ---
37 [INFO] Surefire report directory: E:\cncrowd_workspace\common-deploy\common-base
38 \target\surefire-reports
39 There are no tests to run.
40 [INFO]
41 [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ common-base ---
42 [INFO] Building jar: E:\cncrowd_workspace\common-deploy\common-base\target\commo
43 n-base-0.0.1.jar
44 [INFO]
45 [INFO] >>> maven-source-plugin:2.4:jar (attach-sources) @ common-base >>>
46 [INFO]
47 [INFO] <<< maven-source-plugin:2.4:jar (attach-sources) @ common-base <<<
48 [INFO]
49 [INFO] --- maven-source-plugin:2.4:jar (attach-sources) @ common-base ---
50 [INFO] Building jar: E:\cncrowd_workspace\common-deploy\common-base\target\commo
51 n-base-0.0.1-sources.jar
52 [INFO]
53 [INFO] --- maven-install-plugin:2.5.1:install (default-install) @ common-base --
54 -
55 [INFO] Installing E:\cncrowd_workspace\common-deploy\common-base\target\common-b
56 ase-0.0.1.jar to D:\Maven\repository\com\common\item\base\common-base\0.0.1\comm
57 on-base-0.0.1.jar
58 [INFO] Installing E:\cncrowd_workspace\common-deploy\common-base\pom.xml to D:\M
59 aven\repository\com\common\item\base\common-base\0.0.1\common-base-0.0.1.pom
60 [INFO] Installing E:\cncrowd_workspace\common-deploy\common-base\target\common-b
61 ase-0.0.1-sources.jar to D:\Maven\repository\com\common\item\base\common-base\0.
62 0.1\common-base-0.0.1-sources.jar

执行结果:

补充:

执行 mvn install,maven会自动将source install到repository 。

执行 mvn deploy,maven会自动将source deploy到remote-repository 。

执行 mvn source:jar,单独打包源码。

手动安装MAVEN安装source代码到本地库:

mvn install:install-file -Dfile=E:/common-base-0.0.1-sources.jar -DgroupId=net.spy -DartifactId=spymemcached -Dversion=2.10.3 -Dpackaging=jar -Dclassifier=sources

转载于:https://www.cnblogs.com/yantz/p/4463374.html

【maven详解-插件】maven插件学习之maven-source-plugin相关推荐

  1. Maven详解之聚合与继承

    Maven详解之聚合与继承 说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现. 一.为什么要聚合? 随着技术的飞速发展和各 ...

  2. Maven基础(2):Maven详解

    目录 1.mvn deploy与mvn clean deploy区别 2.maven命令package.install.deploy的联系与区别 3. 命令参数 -D 4.maven详解 1.Mave ...

  3. JavaWeb --第四章Maven详解

    JavaWeb --第四章Maven详解 文章目录 Maven Maven架构管理工具 下载安装Maven 配置环境变量 阿里云镜像 本地仓库 在IDEA中使用Maven 创建一个普通的Maven项目 ...

  4. Linux字符设备驱动详解七(“插件“设备树实现RGB灯驱动)

    文章目录 系列文章目录 前言 正文 Device Tree Overlays:"插件"设备树 传统设备树 "插件"设备树 使用前提 案例说明 设备树:foo.d ...

  5. java中batch基础_详解Spring batch 入门学习教程(附源码)

    详解Spring batch 入门学习教程(附源码) 发布时间:2020-09-08 00:28:40 来源:脚本之家 阅读:99 作者:achuo Spring batch 是一个开源的批处理框架. ...

  6. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

  7. vue.js2.0 java_详解vite2.0配置学习(typescript版本)

    介绍 尤于溪的原话. vite与 Vue CLI 类似,vite 也是一个提供基本项目脚手架和开发服务器的构建工具. vite基于浏览器原生ES imports的开发服务器.跳过打包这个概念,服务端按 ...

  8. 汽车理论matlab编程,汽车理论课后作业matlab编程详解(带注释)[试题学习]

    <汽车理论课后作业matlab编程详解(带注释)[试题学习]>由会员分享,可在线阅读,更多相关<汽车理论课后作业matlab编程详解(带注释)[试题学习](11页珍藏版)>请在 ...

  9. maven详解之生命周期与插件

    Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成 ...

  10. maven详解之坐标与依赖

    2019独角兽企业重金招聘Python工程师标准>>> 看着简单而又复杂的pom.xml文件,看似熟悉,当自己编写的时候觉得简单,但是看人家项目的时候又觉得复杂的很,现在我们一起来分 ...

最新文章

  1. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
  2. Horizon组件安装详解 - 远程连接OpenStack服务
  3. Linux中修改登录提示文件
  4. 洛谷 P1340 兽径管理
  5. 力扣--36有效的数独
  6. NAT穿越技术详细介绍
  7. 帆软注册文件_注册信息- FineReport帮助文档|报表开发|报表使用|学习教程
  8. NeatUpload使用方法
  9. MATLAB使用及介绍
  10. 打开Idea,弹出Server‘s certificate is not trusted 解决方法
  11. 共识,权威以及去中心化的区块链
  12. 免费的java(jsp)虚拟主机jhost
  13. ZOHO企业邮箱教程(试用30/15天)
  14. 如何通过自学成为一名安卓软件开发工程师?
  15. Eclipse搭建第一个Spring boot项目
  16. 手把手教你通过SpringBoot实现邮箱注册码验证
  17. 细说容灾备份的等级和技术
  18. 一、mysql数据库基本框架
  19. 火狐浏览器(firefox)简体中文最新版下载:
  20. oracle 创建emp表,dept表

热门文章

  1. nignx解决vue部署服务器刷新页面出现404问题
  2. 若依如何去掉“正在加载系统资源,请耐心等待”
  3. 去除List集合中的重复元素,并保持原有数据的初始顺序
  4. SOA技术相关介绍(RPC, Web Service, REST,SOAP,JMI)
  5. python什么是调用_Python中包(package)的调用方式
  6. java单个变量的表达式_java中使用Lambda表达式的5种语法
  7. mysql开启binlog日志影响性能吗_mysql binlog日志优化及思路
  8. 实例手册_平法钢筋算不清?钢筋工程量清单编制与应用手册,海量实例看就懂...
  9. 第七章 ---- 异常处理
  10. mysql的实践小结的作文_MySql小结