Maven Core Extensions Reference

Maven core provides default extensions as defined in /META-INF/maven/extension.xml:

  1. <extension>
  2. <exportedPackages>
  3. <!-- maven-* -->
  4. <exportedPackage>org.apache.maven.api</exportedPackage>
  5.  
  6. <exportedPackage>org.apache.maven.*</exportedPackage>
  7. <exportedPackage>org.apache.maven.artifact</exportedPackage>
  8. <exportedPackage>org.apache.maven.classrealm</exportedPackage>
  9. <exportedPackage>org.apache.maven.cli</exportedPackage>
  10. <exportedPackage>org.apache.maven.configuration</exportedPackage>
  11. <exportedPackage>org.apache.maven.exception</exportedPackage>
  12. <exportedPackage>org.apache.maven.execution</exportedPackage>
  13. <exportedPackage>org.apache.maven.execution.scope</exportedPackage>
  14. <exportedPackage>org.apache.maven.feature</exportedPackage>
  15. <exportedPackage>org.apache.maven.graph</exportedPackage>
  16. <exportedPackage>org.apache.maven.lifecycle</exportedPackage>
  17. <exportedPackage>org.apache.maven.model</exportedPackage>
  18. <exportedPackage>org.apache.maven.monitor</exportedPackage>
  19. <exportedPackage>org.apache.maven.plugin</exportedPackage>
  20. <exportedPackage>org.apache.maven.profiles</exportedPackage>
  21. <exportedPackage>org.apache.maven.project</exportedPackage>
  22. <exportedPackage>org.apache.maven.reporting</exportedPackage>
  23. <exportedPackage>org.apache.maven.repository</exportedPackage>
  24. <exportedPackage>org.apache.maven.rtinfo.*</exportedPackage>
  25. <exportedPackage>org.apache.maven.settings</exportedPackage>
  26. <exportedPackage>org.apache.maven.toolchain</exportedPackage>
  27. <exportedPackage>org.apache.maven.usability</exportedPackage>
  28.  
  29.  
  30. <!-- wagon-api -->
  31. <exportedPackage>org.apache.maven.wagon.*</exportedPackage>
  32. <exportedPackage>org.apache.maven.wagon.authentication</exportedPackage>
  33. <exportedPackage>org.apache.maven.wagon.authorization</exportedPackage>
  34. <exportedPackage>org.apache.maven.wagon.events</exportedPackage>
  35. <exportedPackage>org.apache.maven.wagon.observers</exportedPackage>
  36. <exportedPackage>org.apache.maven.wagon.proxy</exportedPackage>
  37. <exportedPackage>org.apache.maven.wagon.repository</exportedPackage>
  38. <exportedPackage>org.apache.maven.wagon.resource</exportedPackage>
  39.  
  40. <!-- maven-resolver-api, maven-resolver-spi, maven-resolver-impl -->
  41. <exportedPackage>org.eclipse.aether.*</exportedPackage>
  42. <exportedPackage>org.eclipse.aether.artifact</exportedPackage>
  43. <exportedPackage>org.eclipse.aether.collection</exportedPackage>
  44. <exportedPackage>org.eclipse.aether.deployment</exportedPackage>
  45. <exportedPackage>org.eclipse.aether.graph</exportedPackage>
  46. <exportedPackage>org.eclipse.aether.impl</exportedPackage>
  47. <exportedPackage>org.eclipse.aether.internal.impl</exportedPackage>
  48. <exportedPackage>org.eclipse.aether.installation</exportedPackage>
  49. <exportedPackage>org.eclipse.aether.metadata</exportedPackage>
  50. <exportedPackage>org.eclipse.aether.repository</exportedPackage>
  51. <exportedPackage>org.eclipse.aether.resolution</exportedPackage>
  52. <exportedPackage>org.eclipse.aether.spi</exportedPackage>
  53. <exportedPackage>org.eclipse.aether.transfer</exportedPackage>
  54. <exportedPackage>org.eclipse.aether.transform</exportedPackage>
  55. <exportedPackage>org.eclipse.aether.version</exportedPackage>
  56. <exportedPackage>org.eclipse.aether.util</exportedPackage>
  57.  
  58. <!-- plexus-classworlds -->
  59. <exportedPackage>org.codehaus.plexus.classworlds</exportedPackage>
  60.  
  61. <!-- classworlds (for legacy code) -->
  62. <exportedPackage>org.codehaus.classworlds</exportedPackage>
  63.  
  64. <!-- plexus-utils (for DOM-type fields in maven-model) -->
  65. <exportedPackage>org.codehaus.plexus.util.xml.Xpp3Dom</exportedPackage>
  66. <exportedPackage>org.codehaus.plexus.util.xml.Xpp3DomBuilder</exportedPackage>
  67. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParser</exportedPackage>
  68. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParserException</exportedPackage>
  69. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlSerializer</exportedPackage>
  70.  
  71. <!-- plexus-container, plexus-component-annotations -->
  72. <exportedPackage>org.codehaus.plexus.*</exportedPackage>
  73. <exportedPackage>org.codehaus.plexus.component</exportedPackage>
  74. <exportedPackage>org.codehaus.plexus.configuration</exportedPackage>
  75. <exportedPackage>org.codehaus.plexus.container</exportedPackage>
  76. <exportedPackage>org.codehaus.plexus.context</exportedPackage>
  77. <exportedPackage>org.codehaus.plexus.lifecycle</exportedPackage>
  78. <exportedPackage>org.codehaus.plexus.logging</exportedPackage>
  79. <exportedPackage>org.codehaus.plexus.personality</exportedPackage>
  80.  
  81. <!-- javax.inject (JSR-330) -->
  82. <exportedPackage>javax.inject.*</exportedPackage>
  83. <!-- javax.enterprise.inject (JSR-299): Must never be exported if needed at plugin level, plugin adds it
  84. there is no justification to get it at Maven level and leaking it will conflict.
  85. <exportedPackage>javax.enterprise.util.*</exportedPackage>
  86. <exportedPackage>javax.enterprise.inject.*</exportedPackage>
  87. -->
  88.  
  89. <!-- javax.annotation (JSR-250) -->
  90. <exportedPackage>javax.annotation.*</exportedPackage>
  91. <exportedPackage>javax.annotation.security.*</exportedPackage>
  92.  
  93. <exportedPackage>jakarta.inject.*</exportedPackage>
  94. <exportedPackage>jakarta.annotation.*</exportedPackage>
  95.  
  96. <!--
  97. | We may potentially want to export these, but right now I'm not sure that anything Guice specific needs
  98. | to be made available to plugin authors. If we find people are getting fancy and want to take advantage of
  99. | Guice specifics we can expose that later. Really some testing needs to be done to see full hiding
  100. | of Guice has any impact on what we may categorize as a standard JSR-330 based Tesla/Maven plugin.
  101.  
  102. <exportedPackage>com.google.inject.*</exportedPackage>
  103. <exportedPackage>com.google.inject.binder.*</exportedPackage>
  104. <exportedPackage>com.google.inject.matcher.*</exportedPackage>
  105. <exportedPackage>com.google.inject.name.*</exportedPackage>
  106. <exportedPackage>com.google.inject.spi.*</exportedPackage>
  107. <exportedPackage>com.google.inject.util.*</exportedPackage>
  108. -->
  109.  
  110. <!-- SLF4J -->
  111. <exportedPackage>org.slf4j.*</exportedPackage>
  112. <exportedPackage>org.slf4j.spi.*</exportedPackage>
  113. <exportedPackage>org.slf4j.helpers.*</exportedPackage>
  114. <exportedPackage>org.slf4j.event.*</exportedPackage>
  115.  
  116. <!-- JAnsi -->
  117. <exportedPackage>org.fusesource.jansi.*</exportedPackage>
  118. </exportedPackages>
  119.  
  120. <exportedArtifacts>
  121. <!-- maven 4 api -->
  122. <exportedArtifact>org.apache.maven:maven-api-core</exportedArtifact>
  123. <exportedArtifact>org.apache.maven:maven-api-meta</exportedArtifact>
  124. <exportedArtifact>org.apache.maven:maven-api-model</exportedArtifact>
  125. <exportedArtifact>org.apache.maven:maven-api-settings</exportedArtifact>
  126. <exportedArtifact>org.apache.maven:maven-api-toolchain</exportedArtifact>
  127. <exportedArtifact>org.apache.maven:maven-api-xml</exportedArtifact>
  128.  
  129. <exportedArtifact>classworlds:classworlds</exportedArtifact>
  130. <exportedArtifact>org.codehaus.plexus:plexus-classworlds</exportedArtifact>
  131. <exportedArtifact>org.codehaus.plexus:plexus-component-api</exportedArtifact>
  132. <exportedArtifact>org.codehaus.plexus:plexus-container-default</exportedArtifact>
  133. <exportedArtifact>plexus:plexus-container-default</exportedArtifact>
  134. <exportedArtifact>org.sonatype.spice:spice-inject-plexus</exportedArtifact>
  135. <exportedArtifact>org.sonatype.sisu:sisu-inject-plexus</exportedArtifact>
  136. <exportedArtifact>org.eclipse.sisu:org.eclipse.sisu.plexus</exportedArtifact>
  137. <exportedArtifact>org.apache.maven:maven-artifact</exportedArtifact>
  138. <!--
  139. | MNG-6240: Plugins might depend on maven-aether-provider <= 3.3.9 before the rename to maven-resolver-provider.
  140. | Since backwards-compatibility was kept, Maven Core also provides this artifact.
  141. -->
  142. <exportedArtifact>org.apache.maven:maven-aether-provider</exportedArtifact>
  143. <exportedArtifact>org.apache.maven:maven-resolver-provider</exportedArtifact>
  144. <exportedArtifact>org.apache.maven:maven-artifact-manager</exportedArtifact>
  145. <exportedArtifact>org.apache.maven:maven-compat</exportedArtifact>
  146. <exportedArtifact>org.apache.maven:maven-core</exportedArtifact>
  147. <exportedArtifact>org.apache.maven:maven-error-diagnostics</exportedArtifact>
  148. <exportedArtifact>org.apache.maven:maven-lifecycle</exportedArtifact>
  149. <exportedArtifact>org.apache.maven:maven-model</exportedArtifact>
  150. <exportedArtifact>org.apache.maven:maven-model-builder</exportedArtifact>
  151. <exportedArtifact>org.apache.maven:maven-monitor</exportedArtifact>
  152. <exportedArtifact>org.apache.maven:maven-plugin-api</exportedArtifact>
  153. <exportedArtifact>org.apache.maven:maven-plugin-descriptor</exportedArtifact>
  154. <exportedArtifact>org.apache.maven:maven-plugin-parameter-documenter</exportedArtifact>
  155. <exportedArtifact>org.apache.maven:maven-plugin-registry</exportedArtifact>
  156. <exportedArtifact>org.apache.maven:maven-profile</exportedArtifact>
  157. <exportedArtifact>org.apache.maven:maven-project</exportedArtifact>
  158. <exportedArtifact>org.apache.maven:maven-repository-metadata</exportedArtifact>
  159. <exportedArtifact>org.apache.maven:maven-settings</exportedArtifact>
  160. <exportedArtifact>org.apache.maven:maven-settings-builder</exportedArtifact>
  161. <exportedArtifact>org.apache.maven:maven-toolchain</exportedArtifact>
  162. <exportedArtifact>org.apache.maven.wagon:wagon-provider-api</exportedArtifact>
  163. <exportedArtifact>org.apache.maven.resolver:maven-resolver-api</exportedArtifact>
  164. <exportedArtifact>org.apache.maven.resolver:maven-resolver-spi</exportedArtifact>
  165. <exportedArtifact>org.apache.maven.resolver:maven-resolver-impl</exportedArtifact>
  166. <exportedArtifact>org.apache.maven.resolver:maven-resolver-util</exportedArtifact>
  167. <exportedArtifact>org.apache.maven.resolver:maven-resolver-connector-basic</exportedArtifact>
  168.  
  169. <exportedArtifact>javax.inject:javax.inject</exportedArtifact>
  170. <exportedArtifact>javax.annotation:javax.annotation-api</exportedArtifact>
  171. <exportedArtifact>org.slf4j:slf4j-api</exportedArtifact>
  172. <exportedArtifact>org.fusesource.jansi:jansi</exportedArtifact>
  173.  
  174. <!--
  175. | We must also filter out the old Aether or NoClassDefFoundErrors will surface
  176. -->
  177. <exportedArtifact>org.sonatype.aether:aether-api</exportedArtifact>
  178. <exportedArtifact>org.sonatype.aether:aether-spi</exportedArtifact>
  179. <exportedArtifact>org.sonatype.aether:aether-impl</exportedArtifact>
  180. <exportedArtifact>org.eclipse.aether:aether-api</exportedArtifact>
  181. <exportedArtifact>org.eclipse.aether:aether-spi</exportedArtifact>
  182. <exportedArtifact>org.eclipse.aether:aether-impl</exportedArtifact>
  183. <exportedArtifact>org.eclipse.aether:aether-util</exportedArtifact>
  184. <exportedArtifact>org.eclipse.aether:aether-connector-basic</exportedArtifact>
  185.  
  186. <!--
  187. | NOTE: Don't exclude the wagons or any of their dependencies (apart from the wagon API). This would otherwise
  188. | provoke linkage errors for wagons contributed by build extensions. We also don't need to exclude the wagons
  189. | from plugins. Plugins that use wagons directly and declare the corresponding dependency will simply use a
  190. | wagon from their plugin realm.
  191. -->
  192. </exportedArtifacts>
  193. </extension>