From eb2c6388c72c102fdda0afd368680341a98bf0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JB=20Onofr=C3=A9?= Date: Tue, 3 Feb 2026 09:33:47 +0000 Subject: [PATCH] Clarify what's included in kar files --- .../main/asciidoc/developer-guide/karaf-maven-plugin.adoc | 4 ++-- manual/src/main/asciidoc/user-guide/kar.adoc | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/manual/src/main/asciidoc/developer-guide/karaf-maven-plugin.adoc b/manual/src/main/asciidoc/developer-guide/karaf-maven-plugin.adoc index de3477ced19..47090ee60a7 100644 --- a/manual/src/main/asciidoc/developer-guide/karaf-maven-plugin.adoc +++ b/manual/src/main/asciidoc/developer-guide/karaf-maven-plugin.adoc @@ -395,9 +395,9 @@ with the `karaf:features-generate-descriptor` goal. There are two important directories in a kar: -* `repository/` contains a Maven structured repository of artifacts to be copied into the Karaf repository. +* `repository/` contains a Maven structured repository of artifacts to be copied into the Karaf repository. The features descriptor and all the bundles mentioned in it are installed in this directory. -* `resources/` contains other resources to be copied over the Karaf installation. +* optionally, `resources/` contains other resources to be copied over the Karaf distribution (shell scripts, configuration files, ...). Everything in `target/classes` is copied into the kar. Therefore resources you want installed into Karaf need to be in e.g. `src/main/resources/resources`. diff --git a/manual/src/main/asciidoc/user-guide/kar.adoc b/manual/src/main/asciidoc/user-guide/kar.adoc index cebfcd9e3d8..1c5cace7796 100644 --- a/manual/src/main/asciidoc/user-guide/kar.adoc +++ b/manual/src/main/asciidoc/user-guide/kar.adoc @@ -26,10 +26,12 @@ of this XML. This artifact is named a KAR (KAraf aRchive). A KAR file is essentially a jar (so a zip file) which contains a set of feature descriptor and bundle jar files. -A KAR file contains a `repository` folder containing: +A KAR file contains: -* a set of features XML files -* the artifacts following the Maven directory structure (`groupId/artifactId/version/artifactId-version.type`). +* a `repository` folder containing: +** a set of features repositories XML or JSON files +** the artifacts (jar files) following the Maven directory structure (`groupId/artifactId/version/artifactId-version.type`). +* optionally a `resources` folder containing all resources that could be included in a Karaf distribution (script files, configuration files, ...) For instance, the `spring-4.0.0.kar` contains: