diff --git a/exo.jcr.component.core/pom.xml b/exo.jcr.component.core/pom.xml
index 3a82a8aa4f..1c85992851 100644
--- a/exo.jcr.component.core/pom.xml
+++ b/exo.jcr.component.core/pom.xml
@@ -140,6 +140,10 @@
org.apache.logging.log4j
log4j-api
+
+ org.apache.logging.log4j
+ log4j-to-slf4j
+
org.apache.tika
tika-core
@@ -189,6 +193,10 @@
+
+ commons-lang
+ commons-lang
+
org.exoplatform.gatein.portal
diff --git a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/IndexRecoveryImpl.java b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/IndexRecoveryImpl.java
index 6069c5618d..e56649cdb5 100644
--- a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/IndexRecoveryImpl.java
+++ b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/IndexRecoveryImpl.java
@@ -29,7 +29,7 @@
import org.exoplatform.services.rpc.TopologyChangeListener;
import org.exoplatform.services.rpc.jgv3.RPCServiceImpl;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jboss.util.file.Files;
import org.jgroups.Address;
diff --git a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/RSyncConfiguration.java b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/RSyncConfiguration.java
index 3aacac6704..055f34a1f5 100644
--- a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/RSyncConfiguration.java
+++ b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/RSyncConfiguration.java
@@ -1,6 +1,6 @@
package org.exoplatform.services.jcr.impl.core.query;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.services.jcr.config.QueryHandlerEntry;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
diff --git a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/SpoolConfig.java b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/SpoolConfig.java
index 3542e44e44..b98bf75574 100644
--- a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/SpoolConfig.java
+++ b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/SpoolConfig.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.dataflow;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.commons.utils.PropertyManager;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.impl.util.io.FileCleanerHolder;
diff --git a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCStorageConnection.java b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCStorageConnection.java
index 2618b39e9b..aa31e20046 100644
--- a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCStorageConnection.java
+++ b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCStorageConnection.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.storage.jdbc.optimisation;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.services.jcr.access.AccessControlEntry;
import org.exoplatform.services.jcr.access.AccessControlList;
diff --git a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/JCRDateFormat.java b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/JCRDateFormat.java
index 8e41cbf373..d76b87bd4b 100644
--- a/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/JCRDateFormat.java
+++ b/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/JCRDateFormat.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.util;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.commons.utils.ISO8601;
import org.exoplatform.commons.utils.Tools;
diff --git a/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/namespaces/TestNamespaceRegistry.java b/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/namespaces/TestNamespaceRegistry.java
index 9a0cdf84d9..3ee9964b58 100644
--- a/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/namespaces/TestNamespaceRegistry.java
+++ b/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/namespaces/TestNamespaceRegistry.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.api.namespaces;
-import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.lucene.search.BooleanQuery;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
import org.exoplatform.services.jcr.core.WorkspaceContainerFacade;
diff --git a/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/analyzer/UnescapeHTMLFilter.java b/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/analyzer/UnescapeHTMLFilter.java
index 67bd482841..c8a0d0b010 100644
--- a/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/analyzer/UnescapeHTMLFilter.java
+++ b/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/analyzer/UnescapeHTMLFilter.java
@@ -18,7 +18,7 @@
import java.io.IOException;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
@@ -47,7 +47,7 @@ public final boolean incrementToken() throws IOException {
String tokenText = new String(buffer);
tokenText = tokenText.replaceAll("?\\s*\\w*\\s*/?>", ""); // Remove all HTML Tags
- tokenText = StringEscapeUtils.unescapeHtml(tokenText);
+ tokenText = StringEscapeUtils.unescapeHtml4(tokenText);
tokenText = tokenText.replaceAll("<|>", ""); // Remove trailing HTML character
tokenText = tokenText.trim();// Remove empty characters replaced by regex to get the right term length
diff --git a/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/hierarchy/impl/NodeHierarchyCreatorImpl.java b/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/hierarchy/impl/NodeHierarchyCreatorImpl.java
index ef12c42f98..1413dd2555 100644
--- a/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/hierarchy/impl/NodeHierarchyCreatorImpl.java
+++ b/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/hierarchy/impl/NodeHierarchyCreatorImpl.java
@@ -23,7 +23,7 @@
import javax.jcr.*;
import javax.jcr.nodetype.NoSuchNodeTypeException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.picocontainer.Startable;
import org.exoplatform.commons.utils.PropertyManager;
diff --git a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java
index b83d0b6428..c66bf5e93a 100644
--- a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java
+++ b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java
@@ -32,7 +32,7 @@
import javax.ws.rs.*;
import javax.ws.rs.core.*;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.common.http.HTTPStatus;
import org.exoplatform.common.util.HierarchicalProperty;
diff --git a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/PutCommand.java b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/PutCommand.java
index b245650f66..628972a7d1 100644
--- a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/PutCommand.java
+++ b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/PutCommand.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.webdav.command;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.common.http.HTTPStatus;
import org.exoplatform.services.jcr.ext.utils.VersionHistoryUtils;
import org.exoplatform.services.jcr.webdav.MimeTypeRecognizer;
diff --git a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/resource/GenericResource.java b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/resource/GenericResource.java
index 05219ca54b..848c2ec15d 100644
--- a/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/resource/GenericResource.java
+++ b/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/resource/GenericResource.java
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.webdav.resource;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.common.util.HierarchicalProperty;
import org.exoplatform.services.jcr.webdav.xml.WebDavNamespaceContext;
import org.exoplatform.services.log.ExoLogger;
diff --git a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/ActivityTypeUtils.java b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/ActivityTypeUtils.java
index 3338d36f2e..43ee2c61d5 100644
--- a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/ActivityTypeUtils.java
+++ b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/ActivityTypeUtils.java
@@ -20,7 +20,7 @@
import javax.jcr.Node;
import javax.jcr.RepositoryException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
diff --git a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/artifact/ArtifactDescriptor.java b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/artifact/ArtifactDescriptor.java
index d9c27fd7b6..8f24a73160 100644
--- a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/artifact/ArtifactDescriptor.java
+++ b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/artifact/ArtifactDescriptor.java
@@ -24,7 +24,7 @@
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
diff --git a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/entity/JCRIndexQueueEntity.java b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/entity/JCRIndexQueueEntity.java
index 8d3db4d8c0..afbf88417c 100644
--- a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/entity/JCRIndexQueueEntity.java
+++ b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/entity/JCRIndexQueueEntity.java
@@ -16,13 +16,27 @@
*/
package org.exoplatform.services.jcr.ext.index.persistent.entity;
-import java.util.*;
-
-import javax.persistence.*;
+import java.util.Calendar;
+import java.util.HashSet;
+import java.util.Set;
import org.exoplatform.commons.api.persistence.ExoEntity;
import org.exoplatform.services.jcr.ext.index.persistent.JCRIndexingOperationType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.SequenceGenerator;
+import jakarta.persistence.Table;
+
@Entity(name = "JCRIndexingQueue")
@ExoEntity
@Table(name = "JCR_INDEXING_QUEUE")
diff --git a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/impl/JCRIndexingServiceImpl.java b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/impl/JCRIndexingServiceImpl.java
index 88d65f5002..864264ccc9 100644
--- a/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/impl/JCRIndexingServiceImpl.java
+++ b/exo.jcr.ext.services/src/main/java/org/exoplatform/services/jcr/ext/index/persistent/impl/JCRIndexingServiceImpl.java
@@ -36,7 +36,7 @@
import javax.jcr.RepositoryException;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.picocontainer.Startable;
import org.exoplatform.commons.api.persistence.ExoTransactional;
diff --git a/jcr-packaging/src/main/assemblies/jcr-addon-package.xml b/jcr-packaging/src/main/assemblies/jcr-addon-package.xml
index f21ef5e5cc..6bcf4032c0 100644
--- a/jcr-packaging/src/main/assemblies/jcr-addon-package.xml
+++ b/jcr-packaging/src/main/assemblies/jcr-addon-package.xml
@@ -47,7 +47,6 @@
commons-logging:*
log4j:*
- org.apache.logging.log4j:*
org.slf4j:slf4j-jcl:*