Interface SpiService
- All Known Subinterfaces:
ExtensibleEnumProvider<T>
,LanguageProvider
,LifecycleProvider
,ModelParser
,ModelTransformer
,PackagingProvider
,PathScopeProvider
,ProjectScopeProvider
,PropertyContributor
,TypeProvider
- All Known Implementing Classes:
DefaultLifecycleRegistry.LifecycleWrapperProvider
,DefaultTypeProvider
,DefaultTypeProvider
Marker interface to indicate services that can be provided by plugins and extensions.
This interface serves as the base for all Service Provider Interface (SPI) components in Maven. Classes implementing this interface can be discovered and loaded by Maven through the Java ServiceLoader mechanism, allowing plugins and extensions to contribute functionality to the Maven build process.
SPI services are typically registered in META-INF/services/
files corresponding to
the specific service interface being implemented.
All SPI services should be annotated with Consumer
to indicate they are meant to be
implemented by plugins and extensions rather than used by them.
- Since:
- 4.0.0