Core extension are readonly extensions XWiki found in the classpath so it's usually JARs.

At startup XWiki scan the classpath to find already provided extensions that comes from the WAR or the application server. XWiki cannot modify them but it needs to find them to know what's already there when install new extension and avoid conflicts and duplicates. When it find partial information about a core extension it will try to find more only automatically.

The core extension scanner also warn about potential conflicts between several core extension (usually between JARs from the WAR and the application server).

Since 8.4, it's possible to package JARs in the WAR (and the WAR itself) with a corresponding xed file descriptor which makes the core extension scanner much more reliable and avoid the online search. You can use the org.xwiki.commons:xwiki-commons-tool-extension-plugin Maven plugin to help with that.

CoreExtension instances may not contain full information about related extension:

  • it's possible XWiki could not find all information about this extension
  • managed dependencies are usually stripped to not take too much memory (this might change in the future)

Get Connected