This is an automated email from the ASF dual-hosted git repository.

alien11689 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/aries.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 11f1bfe3c ARIES-2172: Support jakarta.inject in blueprint-maven-plugin
11f1bfe3c is described below

commit 11f1bfe3c8733d413e5b4fe3db66fa2fc734d6cc
Author: Dominik Przybysz <[email protected]>
AuthorDate: Sat Mar 8 07:47:17 2025 +0100

    ARIES-2172: Support jakarta.inject in blueprint-maven-plugin
---
 .../blueprint-maven-plugin/pom.xml                 |   6 ++
 .../handlers/{javax => jakarta}/InjectHandler.java |  11 +--
 .../{javax => jakarta}/NamedBeanFinder.java        |  10 +-
 .../handlers/{javax => jakarta}/NamedHandler.java  |  18 ++--
 .../{javax => jakarta}/QualifierHandler.java       |  11 +--
 .../{javax => jakarta}/SingletonBeanFinder.java    |   8 +-
 .../plugin/handlers/javax/InjectHandler.java       |  10 +-
 .../plugin/handlers/javax/NamedBeanFinder.java     |  10 +-
 .../plugin/handlers/javax/NamedHandler.java        |  14 +--
 .../plugin/handlers/javax/ProducesHandler.java     |  10 +-
 .../plugin/handlers/javax/QualifierHandler.java    |  10 +-
 .../plugin/handlers/javax/SingletonBeanFinder.java |  10 +-
 ...rg.apache.aries.blueprint.plugin.spi.BeanFinder |   6 +-
 ...he.aries.blueprint.plugin.spi.InjectLikeHandler |   3 +-
 ...che.aries.blueprint.plugin.spi.NamedLikeHandler |   1 +
 ....blueprint.plugin.spi.QualifingAnnotationFinder |   3 +-
 .../blueprint/plugin/BlueprintFileWriterTest.java  | 101 +++++++++++++++------
 .../NamedJakartaBean.java}                         |  11 +--
 .../SimpleJakartaBean.java}                        |  11 +--
 .../SimpleJakartaBeanUsage.java}                   |  37 +++++---
 .../SimpleJakartaBeanUsageViaField.java}           |  18 ++--
 .../UnnamedJakartaBean.java}                       |  11 +--
 .../test/qualifiers/{TestConsumer.java => A3.java} |  12 +--
 .../plugin/test/qualifiers/MyFactory.java          |   7 ++
 .../plugin/test/qualifiers/TestConsumer.java       |   2 +-
 25 files changed, 208 insertions(+), 143 deletions(-)

diff --git a/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml 
b/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml
index ad0350219..a92d87b61 100644
--- a/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml
+++ b/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml
@@ -42,6 +42,7 @@
         
<blueprint-maven-plugin-pax-cdi-handlers.version>1.0.0</blueprint-maven-plugin-pax-cdi-handlers.version>
         
<blueprint-maven-plugin-spi.version>1.1.0</blueprint-maven-plugin-spi.version>
         
<blueprint-maven-plugin-spring-handlers.version>1.0.0</blueprint-maven-plugin-spring-handlers.version>
+        <jakarta.inject.version>2.0.1</jakarta.inject.version>
         
<javax.enterprise.cdi-api.version>2.0.SP1</javax.enterprise.cdi-api.version>
         <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
         <javax.inject.version>1</javax.inject.version>
@@ -139,6 +140,11 @@
             <artifactId>javax.inject</artifactId>
             <version>${javax.inject.version}</version>
         </dependency>
+        <dependency>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
+            <version>${jakarta.inject.version}</version>
+        </dependency>
         <dependency>
             <groupId>javax.transaction</groupId>
             <artifactId>javax.transaction-api</artifactId>
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/InjectHandler.java
similarity index 86%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/InjectHandler.java
index af32f42e7..12ca3546f 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/InjectHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.handlers.javax;
+package org.apache.aries.blueprint.plugin.handlers.jakarta;
 
+import jakarta.inject.Inject;
 import org.apache.aries.blueprint.plugin.spi.InjectLikeHandler;
 
-import javax.inject.Inject;
-
 public class InjectHandler implements InjectLikeHandler<Inject> {
     @Override
     public Class<Inject> getAnnotation() {
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedBeanFinder.java
similarity index 87%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedBeanFinder.java
index 350690cf5..9a46722ad 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedBeanFinder.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.handlers.javax;
+package org.apache.aries.blueprint.plugin.handlers.jakarta;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 public class NamedBeanFinder implements 
org.apache.aries.blueprint.plugin.spi.BeanFinder<Named> {
     @Override
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedHandler.java
similarity index 85%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedHandler.java
index 9bfcfd44a..7e66a63c3 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/NamedHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.handlers.javax;
+package org.apache.aries.blueprint.plugin.handlers.jakarta;
 
-import org.apache.aries.blueprint.plugin.spi.NamedLikeHandler;
-
-import javax.inject.Named;
 import java.lang.reflect.AnnotatedElement;
 
-public class NamedHandler implements NamedLikeHandler {
+import jakarta.inject.Named;
+import org.apache.aries.blueprint.plugin.spi.NamedLikeHandler;
+
+public class NamedHandler implements NamedLikeHandler<Named> {
     @Override
-    public Class getAnnotation() {
+    public Class<Named> getAnnotation() {
         return Named.class;
     }
 
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/QualifierHandler.java
similarity index 86%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/QualifierHandler.java
index 14bb3d2bf..c59eca4e0 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/QualifierHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.handlers.javax;
+package org.apache.aries.blueprint.plugin.handlers.jakarta;
 
+import jakarta.inject.Qualifier;
 import org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder;
 
-import javax.inject.Qualifier;
-
 public class QualifierHandler implements QualifingAnnotationFinder<Qualifier> {
     @Override
     public Class<Qualifier> getAnnotation() {
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/SingletonBeanFinder.java
similarity index 81%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/SingletonBeanFinder.java
index eb078bc80..c908dab7d 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/jakarta/SingletonBeanFinder.java
@@ -16,11 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.handlers.javax;
+package org.apache.aries.blueprint.plugin.handlers.jakarta;
 
-import javax.inject.Singleton;
+import org.apache.aries.blueprint.plugin.spi.BeanFinder;
 
-public class SingletonBeanFinder implements 
org.apache.aries.blueprint.plugin.spi.BeanFinder<Singleton> {
+import jakarta.inject.Singleton;
+
+public class SingletonBeanFinder implements BeanFinder<Singleton> {
     @Override
     public Class<Singleton> getAnnotation() {
         return Singleton.class;
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
index af32f42e7..776f88287 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/InjectHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,10 +18,10 @@
  */
 package org.apache.aries.blueprint.plugin.handlers.javax;
 
-import org.apache.aries.blueprint.plugin.spi.InjectLikeHandler;
-
 import javax.inject.Inject;
 
+import org.apache.aries.blueprint.plugin.spi.InjectLikeHandler;
+
 public class InjectHandler implements InjectLikeHandler<Inject> {
     @Override
     public Class<Inject> getAnnotation() {
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
index 350690cf5..f2e9d613b 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedBeanFinder.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -20,7 +20,9 @@ package org.apache.aries.blueprint.plugin.handlers.javax;
 
 import javax.inject.Named;
 
-public class NamedBeanFinder implements 
org.apache.aries.blueprint.plugin.spi.BeanFinder<Named> {
+import org.apache.aries.blueprint.plugin.spi.BeanFinder;
+
+public class NamedBeanFinder implements BeanFinder<Named> {
     @Override
     public Class<Named> getAnnotation() {
         return Named.class;
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
index 9bfcfd44a..534061be1 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/NamedHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,14 +18,14 @@
  */
 package org.apache.aries.blueprint.plugin.handlers.javax;
 
-import org.apache.aries.blueprint.plugin.spi.NamedLikeHandler;
-
 import javax.inject.Named;
 import java.lang.reflect.AnnotatedElement;
 
-public class NamedHandler implements NamedLikeHandler {
+import org.apache.aries.blueprint.plugin.spi.NamedLikeHandler;
+
+public class NamedHandler implements NamedLikeHandler<Named> {
     @Override
-    public Class getAnnotation() {
+    public Class<Named> getAnnotation() {
         return Named.class;
     }
 
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/ProducesHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/ProducesHandler.java
index 9ac888018..bf4a40b0c 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/ProducesHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/ProducesHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,10 +18,10 @@
  */
 package org.apache.aries.blueprint.plugin.handlers.javax;
 
-import org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder;
-
 import javax.enterprise.inject.Produces;
 
+import org.apache.aries.blueprint.plugin.spi.FactoryMethodFinder;
+
 public class ProducesHandler implements FactoryMethodFinder<Produces> {
     @Override
     public Class<Produces> getAnnotation() {
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
index 14bb3d2bf..9ddbc8a44 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/QualifierHandler.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,10 +18,10 @@
  */
 package org.apache.aries.blueprint.plugin.handlers.javax;
 
-import org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder;
-
 import javax.inject.Qualifier;
 
+import org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder;
+
 public class QualifierHandler implements QualifingAnnotationFinder<Qualifier> {
     @Override
     public Class<Qualifier> getAnnotation() {
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
index eb078bc80..a3720a9ac 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/javax/SingletonBeanFinder.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -20,7 +20,9 @@ package org.apache.aries.blueprint.plugin.handlers.javax;
 
 import javax.inject.Singleton;
 
-public class SingletonBeanFinder implements 
org.apache.aries.blueprint.plugin.spi.BeanFinder<Singleton> {
+import org.apache.aries.blueprint.plugin.spi.BeanFinder;
+
+public class SingletonBeanFinder implements BeanFinder<Singleton> {
     @Override
     public Class<Singleton> getAnnotation() {
         return Singleton.class;
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
index d3c355137..e6514cae2 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.BeanFinder
@@ -15,6 +15,8 @@
 # limitations under the License.
 #
 
-org.apache.aries.blueprint.plugin.handlers.javax.SingletonBeanFinder
+org.apache.aries.blueprint.plugin.handlers.blueprint.bean.BeanHandler
+org.apache.aries.blueprint.plugin.handlers.jakarta.NamedBeanFinder
+org.apache.aries.blueprint.plugin.handlers.jakarta.SingletonBeanFinder
 org.apache.aries.blueprint.plugin.handlers.javax.NamedBeanFinder
-org.apache.aries.blueprint.plugin.handlers.blueprint.bean.BeanHandler
\ No newline at end of file
+org.apache.aries.blueprint.plugin.handlers.javax.SingletonBeanFinder
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.InjectLikeHandler
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.InjectLikeHandler
index 8fef1e702..b286a7f5e 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.InjectLikeHandler
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.InjectLikeHandler
@@ -15,4 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.aries.blueprint.plugin.handlers.javax.InjectHandler
\ No newline at end of file
+org.apache.aries.blueprint.plugin.handlers.jakarta.InjectHandler
+org.apache.aries.blueprint.plugin.handlers.javax.InjectHandler
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.NamedLikeHandler
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.NamedLikeHandler
index 9bcd56a20..06e486c99 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.NamedLikeHandler
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.NamedLikeHandler
@@ -15,5 +15,6 @@
 # limitations under the License.
 #
 
+org.apache.aries.blueprint.plugin.handlers.jakarta.NamedHandler
 org.apache.aries.blueprint.plugin.handlers.javax.NamedHandler
 org.apache.aries.blueprint.plugin.handlers.blueprint.bean.BeanHandler
\ No newline at end of file
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder
index 15f6164ee..63bbf96e0 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/main/resources/META-INF/services/org.apache.aries.blueprint.plugin.spi.QualifingAnnotationFinder
@@ -15,4 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.aries.blueprint.plugin.handlers.javax.QualifierHandler
\ No newline at end of file
+org.apache.aries.blueprint.plugin.handlers.jakarta.QualifierHandler
+org.apache.aries.blueprint.plugin.handlers.javax.QualifierHandler
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
index ba732df0e..8beef909c 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
@@ -18,19 +18,53 @@
  */
 package org.apache.aries.blueprint.plugin;
 
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Validator;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static 
org.apache.aries.blueprint.plugin.FilteredClassFinder.findClasses;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import com.google.common.collect.Sets;
+import org.apache.aries.blueprint.plugin.jakarta.NamedJakartaBean;
+import org.apache.aries.blueprint.plugin.jakarta.SimpleJakartaBean;
+import org.apache.aries.blueprint.plugin.jakarta.SimpleJakartaBeanUsage;
+import 
org.apache.aries.blueprint.plugin.jakarta.SimpleJakartaBeanUsageViaField;
+import org.apache.aries.blueprint.plugin.jakarta.UnnamedJakartaBean;
 import org.apache.aries.blueprint.plugin.model.Blueprint;
 import org.apache.aries.blueprint.plugin.model.TransactionalDef;
 import org.apache.aries.blueprint.plugin.test.MyBean1;
 import org.apache.aries.blueprint.plugin.test.MyBean5;
 import org.apache.aries.blueprint.plugin.test.MyProduced;
-import org.apache.aries.blueprint.plugin.test.interfaces.ServiceA;
-import org.apache.aries.blueprint.plugin.test.interfaces.ServiceB;
-import org.apache.aries.blueprint.plugin.test.interfaces.ServiceD;
 import org.apache.aries.blueprint.plugin.test.bean.BasicBean;
 import org.apache.aries.blueprint.plugin.test.bean.BeanWithCallbackMethods;
 import org.apache.aries.blueprint.plugin.test.bean.NamedBean;
 import org.apache.aries.blueprint.plugin.test.bean.SimpleProducedBean;
+import org.apache.aries.blueprint.plugin.test.interfaces.ServiceA;
+import org.apache.aries.blueprint.plugin.test.interfaces.ServiceB;
+import org.apache.aries.blueprint.plugin.test.interfaces.ServiceD;
 import org.apache.aries.blueprint.plugin.test.reference.BeanWithReferences;
 import org.apache.aries.blueprint.plugin.test.reference.Ref1;
 import org.apache.aries.blueprint.plugin.test.reference.Ref2;
@@ -48,31 +82,6 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
-
-import static 
org.apache.aries.blueprint.plugin.FilteredClassFinder.findClasses;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
 public class BlueprintFileWriterTest {
 
     private static final String NS_JPA = 
"http://aries.apache.org/xmlns/jpa/v1.1.0";;
@@ -89,7 +98,8 @@ public class BlueprintFileWriterTest {
         Set<Class<?>> beanClasses = findClasses(classFinder, Arrays.asList(
                 MyBean1.class.getPackage().getName(),
                 
ReferenceListenerToProduceWithoutAnnotation.class.getPackage().getName(),
-                BeanWithReferences.class.getPackage().getName()
+                BeanWithReferences.class.getPackage().getName(),
+                SimpleJakartaBean.class.getPackage().getName()
         ));
         Set<String> namespaces = new HashSet<>(Arrays.asList(NS_JPA, NS_TX1));
         Map<String, String> customParameters = new HashMap<>();
@@ -110,7 +120,7 @@ public class BlueprintFileWriterTest {
     }
 
     @Test
-    public void testGenerateBeanWithInitDestroyAndfieldInjection() throws 
Exception {
+    public void testGenerateBeanWithInitDestroyAndFieldInjection() throws 
Exception {
         Node bean1 = getBeanById("myBean1");
 
         assertXpathEquals(bean1, "@class", MyBean1.class.getName());
@@ -798,9 +808,13 @@ public class BlueprintFileWriterTest {
         Node bean2 = getBeanById("testBean2");
         assertXpathEquals(bean2, "@factory-method", "create2");
 
+        Node bean3 = getBeanById("testBean3");
+        assertXpathEquals(bean3, "@factory-method", "create3");
+
         Node consumer = getBeanById("testConsumer");
         assertXpathEquals(consumer, "argument[1]/@ref", "testBean1");
         assertXpathEquals(consumer, "argument[2]/@ref", "testBean2");
+        assertXpathEquals(consumer, "argument[3]/@ref", "testBean3");
     }
 
     @Test
@@ -1387,6 +1401,33 @@ public class BlueprintFileWriterTest {
         Node ref1ForCons = getReferenceListById("ref3ListForProduces");
         assertXpathEquals(ref1ForCons, "@interface", Ref3.class.getName());
     }
+
+    @Test
+    public void testGenerateBeanWithJakartaAnnotatedBeans() throws Exception {
+        Node simpleJakartaBean = getBeanById("simpleJakartaBean");
+        assertXpathEquals(simpleJakartaBean, "@class", 
SimpleJakartaBean.class.getName());
+
+        Node unnamedJakartaBean = getBeanById("unnamedJakartaBean");
+        assertXpathEquals(unnamedJakartaBean, "@class", 
UnnamedJakartaBean.class.getName());
+
+        Node namedJakartaBean = getBeanById("test-named-jakarta-bean");
+        assertXpathEquals(namedJakartaBean, "@class", 
NamedJakartaBean.class.getName());
+
+        Node injectingBean = getBeanById("simpleJakartaBeanUsage");
+        assertXpathEquals(injectingBean, "@class", 
SimpleJakartaBeanUsage.class.getName());
+        assertXpathDoesNotExist(injectingBean, "@field-injection");
+        assertXpathEquals(injectingBean, "argument[1]/@ref", 
"simpleJakartaBean");
+        assertXpathEquals(injectingBean, "property[@name='b']/@ref", 
"unnamedJakartaBean");
+        assertXpathEquals(injectingBean, "property[@name='c']/@ref", 
"test-named-jakarta-bean");
+
+        Node injectingBeanViaFields = 
getBeanById("simpleJakartaBeanUsageViaField");
+        assertXpathEquals(injectingBeanViaFields, "@class", 
SimpleJakartaBeanUsageViaField.class.getName());
+        assertXpathEquals(injectingBeanViaFields, "@field-injection", "true");
+        assertXpathEquals(injectingBeanViaFields, "property[@name='a']/@ref", 
"simpleJakartaBean");
+        assertXpathEquals(injectingBeanViaFields, "property[@name='b']/@ref", 
"unnamedJakartaBean");
+        assertXpathEquals(injectingBeanViaFields, "property[@name='c']/@ref", 
"test-named-jakarta-bean");
+    }
+
     private void assertXpathDoesNotExist(Node node, String xpathExpression) 
throws XPathExpressionException {
         assertXpathEquals(node, "count(" + xpathExpression + ")", "0");
     }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/NamedJakartaBean.java
similarity index 79%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/NamedJakartaBean.java
index 6e96d8996..b42f86c34 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/NamedJakartaBean.java
@@ -16,13 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.test.qualifiers;
+package org.apache.aries.blueprint.plugin.jakarta;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Named;
 
-@Bean
-public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
-
-    }
+@Named("test-named-jakarta-bean")
+public class NamedJakartaBean {
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBean.java
similarity index 79%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBean.java
index 6e96d8996..54c63ae86 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBean.java
@@ -16,13 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.test.qualifiers;
+package org.apache.aries.blueprint.plugin.jakarta;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Singleton;
 
-@Bean
-public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
-
-    }
+@Singleton
+public class SimpleJakartaBean {
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsage.java
similarity index 60%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsage.java
index 8d4eb81b3..4a5a66c75 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsage.java
@@ -16,26 +16,33 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.test.qualifiers;
+package org.apache.aries.blueprint.plugin.jakarta;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
-import javax.inject.Named;
+@Singleton
+public class SimpleJakartaBeanUsage {
 
-@Bean
-public class MyFactory {
+    private SimpleJakartaBean a;
+    private UnnamedJakartaBean b;
+    private NamedJakartaBean c;
 
-    @Bean
-    @Named("testBean1")
-    @A1
-    public TestBean create1() {
-        return null;
+    public SimpleJakartaBeanUsage() {
     }
 
-    @Bean
-    @Named("testBean2")
-    @A2
-    public TestBean create2() {
-        return null;
+    @Inject
+    public SimpleJakartaBeanUsage(SimpleJakartaBean a) {
+        this.a = a;
+    }
+
+    @Inject
+    public void setB(UnnamedJakartaBean b) {
+        this.b = b;
+    }
+
+    @Inject
+    public void setC(NamedJakartaBean c) {
+        this.c = c;
     }
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsageViaField.java
similarity index 72%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsageViaField.java
index 6e96d8996..9075fd75e 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/SimpleJakartaBeanUsageViaField.java
@@ -16,13 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.test.qualifiers;
+package org.apache.aries.blueprint.plugin.jakarta;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
-@Bean
-public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
-
-    }
+@Singleton
+public class SimpleJakartaBeanUsageViaField {
+    @Inject
+    private SimpleJakartaBean a;
+    @Inject
+    private UnnamedJakartaBean b;
+    @Inject
+    private NamedJakartaBean c;
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/UnnamedJakartaBean.java
similarity index 79%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/UnnamedJakartaBean.java
index 6e96d8996..2634ba307 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/jakarta/UnnamedJakartaBean.java
@@ -16,13 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.blueprint.plugin.test.qualifiers;
+package org.apache.aries.blueprint.plugin.jakarta;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Named;
 
-@Bean
-public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
-
-    }
+@Named
+public class UnnamedJakartaBean {
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/A3.java
similarity index 82%
copy from 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
copy to 
blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/A3.java
index 6e96d8996..59363299c 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/A3.java
@@ -18,11 +18,11 @@
  */
 package org.apache.aries.blueprint.plugin.test.qualifiers;
 
-import org.apache.aries.blueprint.annotation.bean.Bean;
+import jakarta.inject.Qualifier;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 
-@Bean
-public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
-
-    }
+@Retention(RetentionPolicy.RUNTIME)
+@Qualifier
+public @interface A3 {
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
index 8d4eb81b3..36e0ebd28 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/MyFactory.java
@@ -38,4 +38,11 @@ public class MyFactory {
     public TestBean create2() {
         return null;
     }
+
+    @Bean
+    @jakarta.inject.Named("testBean3")
+    @A3
+    public TestBean create3() {
+        return null;
+    }
 }
diff --git 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
index 6e96d8996..514142703 100644
--- 
a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
+++ 
b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/qualifiers/TestConsumer.java
@@ -22,7 +22,7 @@ import org.apache.aries.blueprint.annotation.bean.Bean;
 
 @Bean
 public class TestConsumer {
-    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2) {
+    public TestConsumer(@A1 TestBean t1, @A2 TestBean t2, @A3 TestBean t3) {
 
     }
 }


Reply via email to