diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/MethodTransformer.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/MethodTransformer.java
index 8666b34..c72aacd 100644
--- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/MethodTransformer.java
+++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/MethodTransformer.java
@@ -75,7 +75,7 @@
     }
 
     @Override
-    public void visitLdcInsn(final Object cst) {
+    public void visitLdcInsn(Object cst) {
         if (cst instanceof Integer) {
             // ...
         } else if (cst instanceof Float) {
@@ -85,7 +85,16 @@
         } else if (cst instanceof Double) {
             // ...
         } else if (cst instanceof String) {
-            // ...
+            cst = new Replace((String) cst)
+                    .replace("javax.faces", "jakarta.faces")
+                    .replace("javax_faces", "jakarta_faces")
+                    .replace("javax.persistence.", "jakarta.persistence.")
+                    .replace("javax.transaction.TransactionManager", "jakarta.transaction.TransactionManager")
+                    .replace("javax.transaction.global.timeout", "jakarta.transaction.global.timeout")
+                    .replace("javax.xml.ws.", "jakarta.xml.ws.")
+                    .replace("Ljavax/persistence", "Ljakarta/persistence")
+                    .get();
+
         } else if (cst instanceof Type) {
             // ...
         } else if (cst instanceof Handle) {
diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
index 352190d..ab7a350 100644
--- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
+++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
@@ -29,6 +29,10 @@
         }
         return this;
     }
+    public Replace replace(final String from, final String to) {
+        text = text.replace(from, to);
+        return this;
+    }
 
     public String get() {
         return text;
