按照说明maven 是3.3.1 发布了maven extension,功能很强大,以前没太注意,在看dremio 关于telemetry 集成的时候发现是一个很强大的
功能,尤其在我们需要提高maven 构建性能的时候,以下是一个简单的说明
配置说明
一般包含了核心扩展以及构建扩展
- 核心扩展
jar 在${maven.home}/lib/ext
通过climvn -Dmaven.ext.class.path=extenson.jar
通过.mvn/extensions.xml
extensions.xml模式的
<?xml version="1.0" encoding="UTF-8"?>
<extensions>
<extension>
<groupId>fr.jcgay.maven</groupId>
<artifactId>maven-profiler</artifactId>
<version>3.2</version>
</extension>
<extension>
<groupId>fr.jcgay.maven</groupId>
<artifactId>maven-notifier</artifactId>
<version>2.1.2</version>
</extension>
<extension>
<!-- Disabled by default.
Check https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/maven-extension for configuration.
-->
<groupId>io.opentelemetry.contrib</groupId>
<artifactId>opentelemetry-maven-extension</artifactId>
<!-- https://github.com/open-telemetry/opentelemetry-java-contrib/releases -->
<version>1.31.0-alpha</version>
</extension>
</extensions>
- 构建配置
<project>
...
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>2.10</version>
</extension>
</extensions>
</build>
...
</project>
说明
maven extension 是一个很不错的扩展功能,可以进行方便的maven 构建扩展,实现一些有意思的玩法
参考资料
https://maven.apache.org/guides/mini/guide-using-extensions.html
https://maven.apache.org/extensions/index.html
http://takari.io/2015/03/19/core-extensions.html
https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/maven-extension