首页 > 编程语言 >使用 maven 自动将源码打包并发布

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

时间:2023-12-06 15:03:28浏览次数:53  
标签:plugin pom jar maven source 源码 打包


  • maven-source-plugin 作用:
    在构建过程中将项目的源代码进行打包,并作为一个jar文件附着在主构件上,在 pom.xml 中添加如下内容,使用 maven 生成 jar 的同时生成 sources 包
  • 在 pom 中配置如下:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.2.0</version>
<!-- 绑定source插件到Maven的生命周期,并在生命周期后执行绑定的source的goal -->
            <executions>
                <execution>
             	<!-- 绑定source插件到Maven的生命周期 -->
                    <id>attach-sources</id>
                    <phase>package</phase>
                <!--在生命周期后执行绑定的source插件的goals -->
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  • <phase>package</phase> 表示配置的插件在 Maven 构建的打包阶段执行
  • maven-source-plugin 提供项目自动将源码打包并发布的功能,在需要发布源码项目的 pom.xml 文件中添加即可
执行 mvn install,maven会自动将source install到repository
执行 mvn deploy,maven会自动将source deploy到remote-repository
  • mvn source:jar,单独打包源码
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-source-plugin</artifactId>
	<executions>
		<execution>
			<id>attach-sources</id>
			<goals>
				<goal>jar</goal>
			</goals>
		</execution>
	</executions>
</plugin>
  • 注意:在多项目构建中,将 source-plugin 置于顶层或 parent 的 pom 中并不会发挥作用,须置于具体项目的pom中


标签:plugin,pom,jar,maven,source,源码,打包
From: https://blog.51cto.com/xdr630/8704996

相关文章

  • Qt 项目打包成exe可执行程序
    1、先构建release2、删掉文件夹内多余的文件3、使用windeployqt工具再打包就可以了......
  • Optional常用方法实例, 源码挺简单的,重要的是option 与 stream 以及lambda 的连贯使用
    Optionalstaticmethods: Optional.ofNullable();Optional.empty();Optional.of(); ​ empty():publicstatic<T>Optional<T>empty(){@SuppressWarnings("unchecked")Optional<T>t=(Optional<......
  • java智慧校园源码,SaaS云平台,私有云部署
    什么是电子班牌?电子班牌用来显示班级信息,班级活动信息以及学校的通知信息。信息内容为文字、图片、视频、FLASH等,为学生和老师提供新颖的师生交流及校园服务平台。融合了多媒体信息发布、家校互通、物联控制、教务管理、日常办公等一系列应用,是校园管理的现代手段。学生刷卡考勤数......
  • 计算机毕业设计springcloud vue商城源码
    开发环境及工具:大等于jdk1.8,大于mysql5.5,idea(eclipse),nodejs,vscode(webstorm)技术说明:springcloudspringbootmybatisvueelementui代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。功能介绍:用户端:登录注册首页显示搜索商品,轮播图,商品分类,点击分类展示对应商,(......
  • 源码编译安装mysql8.0
    下载源码源码下载地址:https://dev.mysql.com/downloads/mysql/找到对应版本进行下载上传至服务器编译安装使用cmake命令进行安装cdmysql-8.0.35mkdirbldcdbldcmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DDOWNLOAD_BOOST=1-DWITH_BOOST=/usr/local/boost..安......
  • 智慧校园云平台,Java智慧校园信息管理平台源码
    智慧班牌是数字化智慧校园建设不断发展的产物,是教育信息化改革的部分体现。它包含以往班牌优点的同时,还综合考虑教改及学校各方面的需求,加入了更多的实用功能,比如:显示班级及教室基础信息、当前日期和时间、以及由传感器采集的实时数据,同时显示多端平台数据同步,具有多样性的交互功能......
  • flutter 打包web应用指定上下文
    使用flutterbuildweb命令打包的应用不包含上下文,只能部署在根目录。如何指定上下文,部署在子目录下呢?有两种办法:1.修改web/index.html文件修改<basehref="$FLUTTER_BASE_HREF">标签中href的值,改成你想要的上下文然后再打包。2.在命令行中指定上下文。比如我想要的上......
  • 【实战技能】 单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行机制,RTOS Tr
    从源码的角度来看,OS内核源码就是通过各种链表组装起来的,FreeRTOS就是下面几个链表组成的。FreeRTOS的调度,任务切换就是倒腾这几个链表。而其它的几款OS是一个链表就一撸到底了,FreeRTOS是搞了好几个。所以视频里面就重点介绍下这个,其它的支持的也做个拓展说明。搞清楚这几个链表也......
  • python文件不显示cmd黑窗口,打包py,pyw文件为exe文件
    问题描述:编写的python文件为定时任务,需要长时间运行,但是打开的cmd黑色窗口看起来很不舒服,于是打包为exe文件,隐藏cmd黑色窗口步骤:1.使用pipinstallpyinstaller命令安装pyinstaller(前提是已安装python);2.很多时候出现pip版本过老的报错,此时使用pip--version查看pip版本,确定......
  • 前端优化之路:打包文件拆包、增加哈希值
     【前言】前面对项目打包做了优化处理,但是还不够完美,有两点可继续优化生成的chunk-vendors文件过大,压缩后仍然超过1M开发、测试环境生成的js文件,未带哈希值问题1:如果在弱网环境下,会造成首次白屏时间过长问题2:容易产生同名文件,造成浏览器缓存出于以上两点考虑,故而需继续......