Apache 软件基金会父 POM
该项目由一个 POM 组成,其中包含可能对使用 Maven 构建和发布代码的任何 Apache 项目有用的设置。通过将此项目用作父项目,项目将获得这些设置。
大多数项目都希望覆盖其中的一些设置。
以下是此 POM 中配置的项目列表:
- 顶级项目属性:
- 许可证:Apache 许可证,2.0 版。
- 组织:Apache 软件基金会
- 网址:
https://www.apache.org/
。你应该覆盖它。 - repositories:pom 添加 Apache 快照存储库 (
https://repository.apache.org/snapshots
) - distributionManagement:POM 设置发布到 Apache Nexus 实例的位置
https://repository.apache.org/service/local/staging/deploy/maven2
和快照到https://repository.apache.org/content/repositories/snapshots
.
请注意,您可以覆盖 POM 属性 (distMgmtSnapshotsName
和distMgmtSnapshotsUrl
) 以更改快照位置。 - mailingLists:POM 设置通用 Apache 公告列表。你应该覆盖它。
- pluginManagement:插件管理部分指定插件列表的版本。有关版本的完整列表,请参阅插件管理报告。
- 编译器插件默认设置为Java 1.7(
maven.compiler.target
属性)和 UTF-8 源(project.build.sourceEncoding
属性)。 - jar 插件设置为添加默认规范和实现条目。
- 资源插件设置为 UTF-8。
- 发布插件通过 <arguments> 配置元素设置,为所有执行启用apache-release配置文件并禁用 <useReleaseProfiles>。您可以在发布插件的配置中使用一个空的 <arguments/> 元素来删除它。
- 编译器插件默认设置为Java 1.7(
- plugins: plugins 部分配置三个执行:
- org.apache:apache-jar-resource-bundle:1.4 的maven-remote-resources-plugin 。
- maven 站点插件:附加描述符
- maven-enforcer-plugin 检查 Maven 和 Java 构建先决条件,通过属性配置:
minimalMavenBuildVersion
属性:默认值为Maven 3.1.1minimalJavaBuildVersion
属性:默认值为Java 1.8
- Reproducible Builds:从这个父 POM 的版本 22 开始,托管插件版本预计将与Reproducible Builds兼容。
要在输出存档中选择时间戳,使用此 POM 作为父级的项目应在其根 POM 中定义一个属性:
<properties> <project.build.outputTimestamp>10</project.build.outputTimestamp> </properties>
该值将在发布期间由 Maven 发布插件更新。如果项目想要禁用 Reproducible Builds,只需使用任何单个非数字字符定义属性值。
apache-release
简介_
如上所述,此 pom 配置发布插件以启用发布插件apache-release
的所有执行的配置文件。
该配置文件包括以下插件:
- maven-assembly-plugin: org.apache.apache.resources:apache-source-release-assembly-descriptor:1.0.6被添加为依赖项,并配置了
source-release-assembly
id 执行。
该插件配置为descriptorRef
从sourceReleaseAssemblyDescriptor属性中获取名称,默认情况下设置为(仅 zip):您可以使用(zip 和 tar)或(仅 tar)值source-release
覆盖该属性。如果您想避免此默认程序集执行以提供您自己的机制来生成源发布存档,您可以通过为此执行 id配置参数来禁用执行source-release-zip-tar
source-release-tar
skipAssembly
source-release-assembly
- maven-deploy-plugin:配置为激活
updateReleaseInfo
- maven-source-plugin:配置为构建和附加源 jar。
- maven-javadoc-plugin:配置为构建和附加一个 javadoc jar。
- maven-gpg-plugin:配置为对所有内容进行签名。它希望找到一个密码短语
${gpg.passphrase}
,大概是在你的settings.xml
. - checksum-maven-plugin:配置为根据Apache 发布分发策略的要求为源发布创建校验和文件。
当使用 maven-release-plugin 进行发布时,这会创建target/checkout/target
准备复制到项目的Apache/dist/
发布分发目录的文件:
${artifactId}-${version}-source-release.[zip|tar.gz]
:源发布档案${artifactId}-${version}-source-release.[zip|tar.gz].sha512
: 他们的校验和${artifactId}-${version}-source-release.[zip|tar.gz].asc
: 他们的签名
这些文件最终也会出现在临时存储库和 Maven Central 中。
设置配置
您可以查看 Apache 网站Publishing Maven Artifacts中的页面。
-Papache-release
您可以使用命令行测试您的环境设置。
历史
版本 | 发布日期 |
---|---|
25(差异) | 2022-02-20 |
24(差异) | 2021-07-13 |
23(差异) | 2020-01-25 |
22(差异) | 2020-01-08 |
21(差异) | 2018-08-21 |
20(差异) | 2018-07-07 |
19(差异) | 2018-01-24 |
18(差异) | 2016-05-18 |
17(差异) | 2015-04-24 |
16(差异) | 2014-11-13 |
15(差异) | 2014-09-24 |
14(差异) | 2014-03-06 |
13(差异) | 2013-01-20 |
12(差异) | 2012-11-01 |
11(差异) | 2012-08-08 |
10(差异) | 2011-08-09 |
9(差异) | 2011-02-15 |
8(差异) | 2010-11-26 |
7(差异) | 2009-12-29 |