maven 打包源代码
  gxJ4jYVTC9IN 2023年11月02日 19 0


前言

maven"内置插件"中没有打包源代码的插件,所以,需要开发者配置插件。apache提供了maven-source-plugin插件用于打包源代码。


maven-source-plugin


The Source Plugin has five goals:

  • source:aggregate aggregrates sources for all modules in an aggregator project.
  • source:jar is used to bundle the main sources of the project into a jar archive.
  • source:test-jar on the other hand, is used to bundle the test sources of the project into a jar archive.
  • source:jar-no-fork is similar to jar but does not fork the build lifecycle.
  • source:test-jar-no-fork is similar to test-jar but does not fork the build lifecycle

配置


在《maven实战》一书中,配置使用的是jar-no-fork


<build>
			<plugins>
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.1.2</version>
					<executions>
						<execution>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
	</build>






jar-no-fork与jar的区别






jar,在执行goal之前,执行generate-sources阶段,也就是说,如果,jar绑定的目标在generate-sources之后(比如verify)的话,generate-sources会执行两遍。


  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: package


jar-no-fork,没有其余动作,在绑定的phase执行。原文是,



  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: package.




为什么会有jar-no-fork?


临时,我也没找到它存在的理由。




参考


maven-source-plugin doc


difference between maven-source-plugin-jar-and-jar-no-fork-goal

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  6gCsnZJSOYO3   2023年11月02日   28   0   0 数据neo4jjarjava
gxJ4jYVTC9IN