diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 33fb46a5a3a..43d53405382 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -34,10 +34,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Build
run: mvn -U -B -e clean install -DskipTests -Prat
diff --git a/archetypes/assembly/src/main/resources/archetype-resources/pom.xml b/archetypes/assembly/src/main/resources/archetype-resources/pom.xml
index e255be1e278..8cefb1c5b2e 100644
--- a/archetypes/assembly/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/assembly/src/main/resources/archetype-resources/pom.xml
@@ -174,7 +174,7 @@
- 11
+ 21
diff --git a/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml b/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
index 738507ac93d..52dedc8d200 100644
--- a/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
@@ -63,8 +63,9 @@
maven-compiler-plugin
3.13.0
- 1.8
- 1.8
+ 21
+ 21
+ 21
256M
diff --git a/archetypes/bundle/pom.xml b/archetypes/bundle/pom.xml
index 3bbc2cecbac..0cb6128f97a 100644
--- a/archetypes/bundle/pom.xml
+++ b/archetypes/bundle/pom.xml
@@ -57,8 +57,9 @@
org.apache.maven.plugins
maven-compiler-plugin
- 1.8
- 1.8
+ 21
+ 21
+ 21
256M
diff --git a/archetypes/bundle/src/main/resources/archetype-resources/pom.xml b/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
index a6d0c97a5c1..b120803f3e8 100644
--- a/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
@@ -82,8 +82,9 @@
maven-compiler-plugin
3.13.0
- 1.8
- 1.8
+ 21
+ 21
+ 21
256M
diff --git a/archetypes/command/src/main/resources/archetype-resources/pom.xml b/archetypes/command/src/main/resources/archetype-resources/pom.xml
index 1548463bc7d..84efb47ad22 100644
--- a/archetypes/command/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/command/src/main/resources/archetype-resources/pom.xml
@@ -67,8 +67,9 @@
true
3.13.0
- 1.8
- 1.8
+ 21
+ 21
+ 21
diff --git a/assemblies/apache-karaf-minimal/pom.xml b/assemblies/apache-karaf-minimal/pom.xml
index 73dd86f274a..481bbedd666 100644
--- a/assemblies/apache-karaf-minimal/pom.xml
+++ b/assemblies/apache-karaf-minimal/pom.xml
@@ -145,7 +145,7 @@
!org.apache.karaf.command.acl.*,
*
- 11
+ 21
diff --git a/assemblies/apache-karaf/pom.xml b/assemblies/apache-karaf/pom.xml
index 64185742bf5..60dd7a90911 100644
--- a/assemblies/apache-karaf/pom.xml
+++ b/assemblies/apache-karaf/pom.xml
@@ -178,7 +178,7 @@
- 11
+ 21
${project.build.directory}
Apache Karaf (full)
diff --git a/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties b/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
index e012e02ace8..59fc238ea12 100644
--- a/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
+++ b/assemblies/features/base/src/main/filtered-resources/resources/etc/config.properties
@@ -87,11 +87,15 @@ org.osgi.framework.system.packages= \
#
# Extra packages appended after standard packages
#
-org.osgi.framework.system.packages.extra= \
+org.osgi.framework.system.packages.extra = \
org.apache.karaf.branding, \
sun.misc, \
com.sun.jmx.remote.protocol, \
- com.sun.jmx.remote.protocol.jmxmp
+ com.sun.jmx.remote.protocol.jmxmp, \
+ org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=@@karaf.osgi.version@@, \
+ org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=@@karaf.osgi.version@@, \
+ org.apache.karaf.jaas.boot;uses:=\"javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework\";version=@@karaf.osgi.version@@, \
+ org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=@@karaf.osgi.version@@
org.osgi.framework.system.capabilities= \
${eecap-${java.specification.version}}, \
@@ -215,17 +219,19 @@ eecap-1.8= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2",
# javax.security.cert is needed by pax-transx-tm-narayana as it uses URLClassLoader and otherwise is unable to create
# object store.
#
-org.osgi.framework.bootdelegation=\
- com.sun.*, \
- javax.transaction, \
- javax.transaction.xa, \
- javax.xml.crypto, \
- javax.xml.crypto.*, \
- javax.security.cert, \
- jdk.nashorn.*, \
- sun.*, \
- jdk.internal.reflect, \
- jdk.internal.reflect.*
+org.osgi.framework.bootdelegation = \
+ com.sun.*, \
+ javax.transaction, \
+ javax.transaction.xa, \
+ javax.xml.crypto, \
+ javax.xml.crypto.*, \
+ javax.security.cert, \
+ jdk.nashorn.*, \
+ sun.*, \
+ jdk.internal.reflect, \
+ jdk.internal.reflect.*, \
+ org.apache.karaf.jaas.boot, \
+ org.apache.karaf.jaas.boot.principal
# jVisualVM support
# in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation property has to contain the org.netbeans.lib.profiler.server package
diff --git a/assemblies/features/enterprise/pom.xml b/assemblies/features/enterprise/pom.xml
index b50a3599ad9..ae831569f39 100644
--- a/assemblies/features/enterprise/pom.xml
+++ b/assemblies/features/enterprise/pom.xml
@@ -241,7 +241,7 @@
file:${project.build.directory}/feature/feature.xml
org.apache.karaf.features:framework
- 11
+ 21
framework
diff --git a/assemblies/features/specs/pom.xml b/assemblies/features/specs/pom.xml
index 5d44bdd1d10..36ba1df5130 100644
--- a/assemblies/features/specs/pom.xml
+++ b/assemblies/features/specs/pom.xml
@@ -96,7 +96,7 @@
file:${project.build.directory}/feature/feature.xml
org.apache.karaf.features:framework
- 11
+ 21
framework
@@ -149,4 +149,4 @@
-
\ No newline at end of file
+
diff --git a/assemblies/features/spring-legacy/pom.xml b/assemblies/features/spring-legacy/pom.xml
index 17e6ddff116..42ad7c1750d 100644
--- a/assemblies/features/spring-legacy/pom.xml
+++ b/assemblies/features/spring-legacy/pom.xml
@@ -158,7 +158,7 @@
file:${project.build.directory}/feature/feature.xml
org.apache.karaf.features:framework
- 17
+ 21
framework
diff --git a/assemblies/features/spring/pom.xml b/assemblies/features/spring/pom.xml
index b5abe0e26ad..c04a2ca250c 100644
--- a/assemblies/features/spring/pom.xml
+++ b/assemblies/features/spring/pom.xml
@@ -158,7 +158,7 @@
file:${project.build.directory}/feature/feature.xml
org.apache.karaf.features:framework
- 17
+ 21
framework
diff --git a/assemblies/features/standard/pom.xml b/assemblies/features/standard/pom.xml
index a82c623aea4..a31e822aed1 100644
--- a/assemblies/features/standard/pom.xml
+++ b/assemblies/features/standard/pom.xml
@@ -465,7 +465,7 @@
file:${project.build.directory}/feature/feature.xml
org.apache.karaf.features:framework
- 11
+ 21
framework
diff --git a/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml b/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
index ae13f67f3ca..729a495cc3e 100644
--- a/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
+++ b/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
@@ -138,7 +138,7 @@
- 11
+ 21
@@ -194,4 +194,4 @@
-
\ No newline at end of file
+
diff --git a/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml b/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
index 0a36d879bed..dbc715cc36d 100644
--- a/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
+++ b/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
@@ -108,7 +108,7 @@
static
true
static
- 11
+ 21
diff --git a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
index f59a2950eb4..a6f26b60ecf 100644
--- a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
+++ b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/config.properties
@@ -129,6 +129,24 @@ equinox-capabilities= \
osgi.service;objectClass:List=org.eclipse.osgi.service.security.TrustEngine;osgi.signedcontent.trust.engine=org.eclipse.osgi, \
osgi.service;objectClass:List=org.eclipse.osgi.service.urlconversion.URLConverter;protocol:List="bundleentry,bundleresource"
+eecap-21 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0"
+eecap-20 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0"
+eecap-19 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0"
eecap-18 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0", \
osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
@@ -251,7 +269,7 @@ karaf.pid.file=${karaf.base}/karaf.pid
#
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir = ${karaf.etc}
-felix.fileinstall.filter = .*\\.(cfg|config)
+felix.fileinstall.filter = .*\\.(cfg|config|json)
felix.fileinstall.poll = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
diff --git a/itests/test/src/test/filtered-resources/etc/config.properties b/itests/test/src/test/filtered-resources/etc/config.properties
index 73f73b4fc45..e012e02ace8 100644
--- a/itests/test/src/test/filtered-resources/etc/config.properties
+++ b/itests/test/src/test/filtered-resources/etc/config.properties
@@ -60,8 +60,8 @@ org.osgi.framework.system.packages= \
org.osgi.dto;version="1.1",\
org.osgi.resource;version="1.0",\
org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\
- org.osgi.framework;version="1.9",\
- org.osgi.framework.dto;version="1.9";uses:="org.osgi.dto",\
+ org.osgi.framework;version="1.10",\
+ org.osgi.framework.dto;version="1.10";uses:="org.osgi.dto",\
org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",\
org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",\
org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",\
@@ -89,17 +89,60 @@ org.osgi.framework.system.packages= \
#
org.osgi.framework.system.packages.extra= \
org.apache.karaf.branding, \
- org.apache.karaf.jaas.boot.principal, \
- org.apache.karaf.jaas.boot, \
- sun.misc
+ sun.misc, \
+ com.sun.jmx.remote.protocol, \
+ com.sun.jmx.remote.protocol.jmxmp
org.osgi.framework.system.capabilities= \
${eecap-${java.specification.version}}, \
- osgi.service;effective:=active;objectClass=org.osgi.service.packageadmin.PackageAdmin, \
- osgi.service;effective:=active;objectClass=org.osgi.service.resolver.Resolver, \
- osgi.service;effective:=active;objectClass=org.osgi.service.startlevel.StartLevel, \
- osgi.service;effective:=active;objectClass=org.osgi.service.url.URLHandlers
+ ${${karaf.framework}-capabilities}, \
+ ${karaf-capabilities}
+karaf-capabilities= \
+ osgi.service;objectClass:List=org.apache.karaf.info.ServerInfo
+
+felix-capabilities= \
+ osgi.service;objectClass:List=org.osgi.service.packageadmin.PackageAdmin, \
+ osgi.service;objectClass:List=org.osgi.service.resolver.Resolver, \
+ osgi.service;objectClass:List=org.osgi.service.startlevel.StartLevel
+
+equinox-capabilities= \
+ osgi.service;objectClass:List=java.lang.ClassLoader;equinox.classloader.type=contextClassLoader, \
+ osgi.service;objectClass:List=javax.xml.parsers.DocumentBuilderFactory, \
+ osgi.service;objectClass:List=javax.xml.parsers.SAXParserFactory, \
+ osgi.service;objectClass:List=org.eclipse.osgi.framework.log.FrameworkLog, \
+ osgi.service;objectClass:List=org.eclipse.osgi.framework.log.FrameworkLog;performance=true, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.datalocation.Location;type=eclipse.home.location, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.datalocation.Location;type=osgi.configuration.area, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.datalocation.Location;type=osgi.install.area, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.datalocation.Location;type=osgi.instance.area, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.datalocation.Location;type=osgi.user.area, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.debug.DebugOptions, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.environment.EnvironmentInfo, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.localization.BundleLocalization, \
+ osgi.service;objectClass:List="org.osgi.service.log.LogReaderService,org.eclipse.equinox.log.ExtendedLogReaderService", \
+ osgi.service;objectClass:List="org.osgi.service.log.LogService,org.eclipse.equinox.log.ExtendedLogService", \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.security.TrustEngine;osgi.signedcontent.trust.engine=org.eclipse.osgi, \
+ osgi.service;objectClass:List=org.eclipse.osgi.service.urlconversion.URLConverter;protocol:List="bundleentry,bundleresource"
+
+eecap-21 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0"
+eecap-20 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0"
+eecap-19 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0"
eecap-18 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0", \
osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
@@ -118,19 +161,19 @@ eecap-16 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2",
osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0"
-eecap-15= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+eecap-15 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0,15.0", \
osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0,15.0"
-eecap-14= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+eecap-14 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0,14.0", \
osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0,14.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0,11.0,13.0,14.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0,11.0,13.0,14.0"
-eecap-13= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
+eecap-13 = osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0,13.0", \
osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0,10.0,11.0,13.0", \
@@ -149,35 +192,40 @@ eecap-10= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2",
osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0,10.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0,10.0"
eecap-9= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9"
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8,9.0", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8,9.0", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8,9.0"
eecap-1.8= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8"
-eecap-1.7= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7"
-eecap-1.6= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6"
-eecap-1.5= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5"
-eecap-1.4= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1,1.2", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4"
-eecap-1.3= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3"
-eecap-1.2= osgi.ee; osgi.ee="OSGi/Minimum"; version:List="1.0,1.1", \
- osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2"
+ osgi.ee; osgi.ee="JavaSE"; version:List="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8", \
+ osgi.ee; osgi.ee="JRE"; version:List="1.0,1.1", \
+ osgi.ee; osgi.ee="JavaSE/compact1"; version:List="1.8", \
+ osgi.ee; osgi.ee="JavaSE/compact2"; version:List="1.8", \
+ osgi.ee; osgi.ee="JavaSE/compact3"; version:List="1.8"
#
-# javax.transaction is needed to avoid class loader constraint violation when using javax.sql
+# javax.transaction is needed ONLY for com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException().
+# JDK8 and earlier provide only 3 exception classes in this package, so full JTA API bundles should always try the
+# bootdelegation first - even if they also package (and export) javax.transaction package
+#
+# boot delegation of javax.transaction.xa is needed to avoid class loader constraint violation when using javax.sql
+# and this package is always complete in all JDKs
+#
+# javax.security.cert is needed by pax-transx-tm-narayana as it uses URLClassLoader and otherwise is unable to create
+# object store.
#
org.osgi.framework.bootdelegation=\
com.sun.*, \
javax.transaction, \
- javax.transaction.*, \
+ javax.transaction.xa, \
javax.xml.crypto, \
javax.xml.crypto.*, \
+ javax.security.cert, \
jdk.nashorn.*, \
sun.*, \
- org.apache.karaf.jaas.boot, \
- org.apache.karaf.jaas.boot.principal
+ jdk.internal.reflect, \
+ jdk.internal.reflect.*
# jVisualVM support
# in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation property has to contain the org.netbeans.lib.profiler.server package
@@ -192,11 +240,6 @@ org.osgi.framework.bootdelegation=\
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,com.yourkit.*
#
-#
-# OSGi Execution Environment
-#
-org.osgi.framework.executionenvironment=J2SE-1.7,JavaSE-1.7,J2SE-1.6,JavaSE-1.6,J2SE-1.5,JavaSE-1.5,J2SE-1.4,JavaSE-1.4,J2SE-1.3,JavaSE-1.3,J2SE-1.2,,JavaSE-1.2,CDC-1.1/Foundation-1.1,CDC-1.0/Foundation-1.0,J2ME,OSGi/Minimum-1.1,OSGi/Minimum-1.0
-
#
# Set the parent classloader for the bundle to the classloader that loads the Framework (i.e. everything in lib/*.jar)
#
@@ -209,16 +252,26 @@ org.osgi.framework.startlevel.beginning=100
karaf.startlevel.bundle=80
#
-# The location of the Karaf shutdown port file
+# The location of the Karaf shutdown port file used to stop instance
#
karaf.shutdown.port.file=${karaf.data}/port
+#
+# The location of the Karaf pid file
+#
+karaf.pid.file=${karaf.base}/karaf.pid
+
+#
+# Configuration secrets file location
+#
+org.apache.felix.configadmin.plugin.interpolation.secretsdir=${karaf.etc}
+
#
# Configuration FileMonitor properties
#
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir = ${karaf.etc}
-felix.fileinstall.filter = .*\\.(cfg|config)
+felix.fileinstall.filter = .*\\.(cfg|config|json)
felix.fileinstall.poll = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
@@ -253,7 +306,7 @@ org.apache.aries.proxy.weaving.enabled=
#
# mvn url handler requires config instance configuration
#
-#org.ops4j.pax.url.mvn.requireConfigAdminConfig=true
+org.ops4j.pax.url.mvn.requireConfigAdminConfig=true
#
# Don't delay the console startup. Set to true if you want the console to start after all other bundles
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/JavaSecurityTest.java b/itests/test/src/test/java/org/apache/karaf/itests/JavaSecurityTest.java
index 009a9e436d3..5858a2a8221 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/JavaSecurityTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/JavaSecurityTest.java
@@ -16,6 +16,7 @@
import org.apache.karaf.bundle.core.BundleInfo;
import org.apache.karaf.bundle.core.BundleService;
import org.apache.karaf.bundle.core.BundleState;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
@@ -39,6 +40,7 @@
import static org.ops4j.pax.exam.CoreOptions.maven;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.*;
+@Ignore("Disabled due to removal of SecurityManager. ref Apache Karaf GitHub issue #2082")
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
public class JavaSecurityTest extends BaseTest {
@@ -58,7 +60,6 @@ public Option[] config() {
throw new RuntimeException(e);
}
-
List