diff --git a/dev/cnf/dependabot/check_this_in_if_it_changes/pom.xml b/dev/cnf/dependabot/check_this_in_if_it_changes/pom.xml
index e63950a2e9e..89560dfaad9 100644
--- a/dev/cnf/dependabot/check_this_in_if_it_changes/pom.xml
+++ b/dev/cnf/dependabot/check_this_in_if_it_changes/pom.xml
@@ -3581,6 +3581,11 @@
hibernate-validator-cdi
7.0.4.Final
+
+ org.hibernate.validator
+ hibernate-validator-cdi
+ 9.0.0.Beta3
+
org.hibernate.validator
hibernate-validator
@@ -3591,6 +3596,11 @@
hibernate-validator
7.0.4.Final
+
+ org.hibernate.validator
+ hibernate-validator
+ 9.0.0.Beta3
+
org.hibernate
hibernate-core
@@ -3681,6 +3691,11 @@
jboss-logging-processor
2.2.1.Final
+
+ org.jboss.logging
+ jboss-logging-processor
+ 3.0.0.Final
+
org.jboss.logging
jboss-logging
@@ -3691,6 +3706,11 @@
jboss-logging
3.5.0.Final
+
+ org.jboss.logging
+ jboss-logging
+ 3.6.0.Final
+
org.jboss.narayana.arjunacore
arjuna
diff --git a/dev/cnf/oss_dependencies.maven b/dev/cnf/oss_dependencies.maven
index afa03052c53..acf5b2f5c4d 100644
--- a/dev/cnf/oss_dependencies.maven
+++ b/dev/cnf/oss_dependencies.maven
@@ -712,8 +712,10 @@ org.hibernate.common:hibernate-commons-annotations:5.1.0.Final
org.hibernate.orm:hibernate-core:7.0.0.Beta1
org.hibernate.validator:hibernate-validator-cdi:6.2.5.Final
org.hibernate.validator:hibernate-validator-cdi:7.0.4.Final
+org.hibernate.validator:hibernate-validator-cdi:9.0.0.Beta3
org.hibernate.validator:hibernate-validator:6.2.5.Final
org.hibernate.validator:hibernate-validator:7.0.4.Final
+org.hibernate.validator:hibernate-validator:9.0.0.Beta3
org.hibernate:hibernate-core:5.3.20.Final
org.hibernate:hibernate-search-engine:5.11.2.Final
org.infinispan:infinispan-client-hotrod:13.0.10.Final
@@ -732,8 +734,10 @@ org.jboss.arquillian.test:arquillian-test-spi:1.7.0.Alpha13
org.jboss.classfilewriter:jboss-classfilewriter:1.3.0.Final
org.jboss.logging:jboss-logging-annotations:2.2.1.Final
org.jboss.logging:jboss-logging-processor:2.2.1.Final
+org.jboss.logging:jboss-logging-processor:3.0.0.Final
org.jboss.logging:jboss-logging:3.4.3.Final
org.jboss.logging:jboss-logging:3.5.0.Final
+org.jboss.logging:jboss-logging:3.6.0.Final
org.jboss.narayana.arjunacore:arjuna:5.10.6.Final
org.jboss.narayana.rts:lra-client:5.10.6.Final
org.jboss.narayana.rts:lra-coordinator-jar:5.10.6.Final
diff --git a/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.0.feature b/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.0.feature
index 0cec08d6300..933db98038a 100644
--- a/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.0.feature
+++ b/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.0.feature
@@ -3,8 +3,8 @@ symbolicName=io.openliberty.beanValidationCDI-3.0
visibility=private
IBM-App-ForceRestart: install, uninstall
IBM-Provision-Capability: \
- osgi.identity; filter:="(&(type=osgi.subsystem.feature)(|(osgi.identity=io.openliberty.cdi-3.0)(osgi.identity=io.openliberty.cdi-4.0)(osgi.identity=io.openliberty.cdi-4.1)))", \
- osgi.identity; filter:="(&(type=osgi.subsystem.feature)(|(osgi.identity=io.openliberty.beanValidation-3.0)(osgi.identity=io.openliberty.beanValidation-3.1)))"
+ osgi.identity; filter:="(&(type=osgi.subsystem.feature)(|(osgi.identity=io.openliberty.cdi-3.0)(osgi.identity=io.openliberty.cdi-4.0)))", \
+ osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=io.openliberty.beanValidation-3.0))"
IBM-Install-Policy: when-satisfied
-bundles=\
com.ibm.ws.beanvalidation.v20.cdi.jakarta,\
diff --git a/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.1.feature b/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.1.feature
new file mode 100644
index 00000000000..ed8699279c3
--- /dev/null
+++ b/dev/com.ibm.websphere.appserver.features/visibility/auto/io.openliberty.beanValidationCDI-3.1.feature
@@ -0,0 +1,14 @@
+-include= ~${workspace}/cnf/resources/bnd/feature.props
+symbolicName=io.openliberty.beanValidationCDI-3.1
+visibility=private
+IBM-App-ForceRestart: install, uninstall
+IBM-Provision-Capability: \
+ osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=io.openliberty.cdi-4.1))", \
+ osgi.identity; filter:="(&(type=osgi.subsystem.feature)(osgi.identity=io.openliberty.beanValidation-3.1))"
+IBM-Install-Policy: when-satisfied
+-bundles=\
+ com.ibm.ws.beanvalidation.v20.cdi.jakarta,\
+ io.openliberty.org.hibernate.validator.cdi.9.0
+kind=beta
+edition=core
+WLP-Activation-Type: parallel
diff --git a/dev/com.ibm.websphere.appserver.features/visibility/public/validation-3.1/io.openliberty.beanValidation-3.1.feature b/dev/com.ibm.websphere.appserver.features/visibility/public/validation-3.1/io.openliberty.beanValidation-3.1.feature
index f317206d120..99132c5877b 100644
--- a/dev/com.ibm.websphere.appserver.features/visibility/public/validation-3.1/io.openliberty.beanValidation-3.1.feature
+++ b/dev/com.ibm.websphere.appserver.features/visibility/public/validation-3.1/io.openliberty.beanValidation-3.1.feature
@@ -42,9 +42,9 @@ IBM-SPI-Package: \
io.openliberty.jakarta.cdi-4.1
-bundles=\
com.ibm.ws.beanvalidation.v20.jakarta, \
- com.ibm.ws.org.jboss.logging, \
+ io.openliberty.org.jboss.logging36, \
com.ibm.ws.com.fasterxml.classmate, \
- io.openliberty.org.hibernate.validator.7.0
+ io.openliberty.org.hibernate.validator.9.0
kind=beta
edition=core
WLP-Activation-Type: parallel
diff --git a/dev/com.ibm.ws.beanvalidation.v20.cdi/bnd.bnd b/dev/com.ibm.ws.beanvalidation.v20.cdi/bnd.bnd
index 3caa5fb7899..b7faffc6ae1 100644
--- a/dev/com.ibm.ws.beanvalidation.v20.cdi/bnd.bnd
+++ b/dev/com.ibm.ws.beanvalidation.v20.cdi/bnd.bnd
@@ -27,6 +27,7 @@ Private-Package: \
Import-Package: \
org.hibernate.validator.internal,\
org.hibernate.validator.cdi.internal,\
+ org.hibernate.validator.cdi.spi;version="[6.0,10)",\
*
Include-Resource: \
@@ -41,21 +42,26 @@ IBM-Default-Config: OSGI-INF/wlp/defaultInstances.xml
com.ibm.ws.beanvalidation.v20.cdi.internal.LibertyHibernateValidatorExtension
-buildpath: \
- com.ibm.websphere.javaee.cdi.2.0;version=latest,\
- com.ibm.websphere.javaee.validation.2.0;version=latest,\
- com.ibm.websphere.appserver.spi.logging;version=latest,\
- com.ibm.websphere.appserver.spi.kernel.service;version=latest, \
- com.ibm.websphere.org.osgi.core;version=latest,\
- com.ibm.websphere.org.osgi.service.component;version=latest,\
- com.ibm.wsspi.org.osgi.service.component.annotations;version=latest,\
- com.ibm.ws.beanvalidation;version=latest,\
- com.ibm.ws.beanvalidation.core;version=latest,\
- com.ibm.ws.cdi.interfaces;version=latest,\
- com.ibm.ws.classloading;version=latest,\
- com.ibm.ws.container.service;version=latest,\
- com.ibm.ws.kernel.service;version=latest,\
- com.ibm.ws.javaee.dd;version=latest,\
- com.ibm.ws.logging.core,\
- com.ibm.ws.managedobject;version=latest,\
- com.ibm.ws.org.hibernate.validator;version=latest, \
- com.ibm.ws.org.hibernate.validator.cdi;version=latest
+ com.ibm.websphere.javaee.cdi.2.0;version=latest,\
+ com.ibm.websphere.javaee.validation.2.0;version=latest,\
+ com.ibm.websphere.appserver.spi.logging;version=latest,\
+ com.ibm.websphere.appserver.spi.kernel.service;version=latest,\
+ com.ibm.websphere.org.osgi.core;version=latest,\
+ com.ibm.websphere.org.osgi.service.component;version=latest,\
+ com.ibm.wsspi.org.osgi.service.component.annotations;version=latest,\
+ com.ibm.ws.beanvalidation;version=latest,\
+ com.ibm.ws.beanvalidation.core;version=latest,\
+ com.ibm.ws.cdi.interfaces;version=latest,\
+ com.ibm.ws.classloading;version=latest,\
+ com.ibm.ws.container.service;version=latest,\
+ com.ibm.ws.kernel.service;version=latest,\
+ com.ibm.ws.javaee.dd;version=latest,\
+ com.ibm.ws.logging.core,\
+ com.ibm.ws.managedobject;version=latest,\
+ com.ibm.ws.org.hibernate.validator;version=latest,\
+ com.ibm.ws.org.hibernate.validator.cdi;version=latest,\
+ com.ibm.ws.kernel.feature,\
+ io.openliberty.org.hibernate.validator.cdi.9.0;version=latest,\
+ io.openliberty.org.hibernate.validator.9.0;version=latest,\
+ io.openliberty.jakarta.validation.3.1;version=latest
+
\ No newline at end of file
diff --git a/dev/com.ibm.ws.beanvalidation.v20.cdi/src/com/ibm/ws/beanvalidation/v20/cdi/internal/BvalManagedObjectBuilderImpl.java b/dev/com.ibm.ws.beanvalidation.v20.cdi/src/com/ibm/ws/beanvalidation/v20/cdi/internal/BvalManagedObjectBuilderImpl.java
index d76f0e6e66e..c5e5de2bfbd 100644
--- a/dev/com.ibm.ws.beanvalidation.v20.cdi/src/com/ibm/ws/beanvalidation/v20/cdi/internal/BvalManagedObjectBuilderImpl.java
+++ b/dev/com.ibm.ws.beanvalidation.v20.cdi/src/com/ibm/ws/beanvalidation/v20/cdi/internal/BvalManagedObjectBuilderImpl.java
@@ -1,10 +1,10 @@
/*******************************************************************************
- * Copyright (c) 2017, 2018 IBM Corporation and others.
+ * Copyright (c) 2017, 2024 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-2.0/
- *
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -14,9 +14,13 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.ServiceConfigurationError;
+import java.util.ServiceLoader;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -32,10 +36,9 @@
import javax.validation.ValidatorFactory;
import javax.validation.valueextraction.ValueExtractor;
-import org.hibernate.validator.cdi.internal.InjectingConstraintValidatorFactory;
import org.hibernate.validator.internal.engine.valueextraction.ValueExtractorDescriptor;
-import org.hibernate.validator.internal.util.privilegedactions.GetInstancesFromServiceLoader;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.Version;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
@@ -75,10 +78,57 @@ public class BvalManagedObjectBuilderImpl implements BvalManagedObjectBuilder {
private final AtomicServiceReference cdiService = new AtomicServiceReference(REFERENCE_CDI_SERVICE);
private final AtomicServiceReference managedObjectServiceRef = new AtomicServiceReference(REFERENCE_MANAGED_OBJECT_SERVICE);
+ private static class GetInstancesFromServiceLoader implements PrivilegedAction> {
+
+ //private static final Log LOG = LoggerFactory.make(MethodHandles.lookup());
+
+ private GetInstancesFromServiceLoader() {
+ }
+
+ public static List action(ClassLoader primaryClassLoader, Class serviceClass) {
+ // Option #1: try the primary class loader first (either the thread context class loader or the external class
+ // loader that has been defined)
+ List instances = loadInstances(primaryClassLoader, serviceClass);
+
+ // Option #2: if we cannot find any service files within the primary class loader, use the current class loader
+ if (instances.isEmpty() && GetInstancesFromServiceLoader.class.getClassLoader() != primaryClassLoader) {
+ instances = loadInstances(GetInstancesFromServiceLoader.class.getClassLoader(), serviceClass);
+ }
+
+ return instances;
+ }
+
+ private static List loadInstances(ClassLoader classloader, Class clazz) {
+ ServiceLoader loader = ServiceLoader.load(clazz, classloader);
+ Iterator iterator = loader.iterator();
+ List instances = new ArrayList();
+ while (iterator.hasNext()) {
+ try {
+ instances.add(iterator.next());
+ } catch (ServiceConfigurationError e) {
+ // ignore, because it can happen when multiple
+ // services are present and some of them are not class loader
+ // compatible with our API.
+ // log an error still as it can hide a legitimate issue (see HV-1689)
+ //LOG.unableToLoadInstanceOfService(loader.getClass().getName(), e);
+ Tr.debug(tc, "unableToLoadInstanceOfService");
+ }
+ }
+ return instances;
+ }
+
+ @Override
+ public List run() {
+
+ return action(Thread.currentThread().getContextClassLoader(),
+ ValueExtractor.class);
+ }
+ }
+
@Override
- public ValidatorFactory injectValidatorFactoryResources(Configuration> config, ClassLoader appClassLoader) {
+ public ValidatorFactory injectValidatorFactoryResources(Configuration> config, ClassLoader appClassLoader, Version runtimeVersion) {
if (cdiService.getServiceWithException().isCurrentModuleCDIEnabled()) {
- createManagedConstraintValidatorFactory(config, appClassLoader);
+ createManagedConstraintValidatorFactory(config, appClassLoader, runtimeVersion);
createManagedMessageInterpolator(config, appClassLoader);
createManagedTraversableResolver(config, appClassLoader);
createManagedParameterNameProvider(config, appClassLoader);
@@ -188,14 +238,19 @@ private void createManagedClockProvider(Configuration> config, ClassLoader app
config.clockProvider(clockProvider);
}
- private void createManagedConstraintValidatorFactory(Configuration> config, ClassLoader appClassLoader) {
+ private void createManagedConstraintValidatorFactory(Configuration> config, ClassLoader appClassLoader, Version runtimeVersion) {
BootstrapConfiguration configSource = config.getBootstrapConfiguration();
String constraintValidatorFactoryClassName = configSource.getConstraintValidatorFactoryClassName();
ConstraintValidatorFactory cvf = null;
-
if (constraintValidatorFactoryClassName == null) {
// use default
- cvf = createManagedObject(InjectingConstraintValidatorFactory.class);
+ if (isBeanValidationVersion31(runtimeVersion)) {
+ //Hibernate Validator 9.0+ package location for InjectingConstraintValidatorFactory
+ cvf = (ConstraintValidatorFactory) createManagedObject(org.hibernate.validator.cdi.spi.InjectingConstraintValidatorFactory.class);
+ } else {
+ cvf = createManagedObject(org.hibernate.validator.cdi.internal.InjectingConstraintValidatorFactory.class);
+ }
+
} else {
@SuppressWarnings("unchecked")
Class extends ConstraintValidatorFactory> constraintValidatorFactoryClass = (Class extends ConstraintValidatorFactory>) loadClass(constraintValidatorFactoryClassName,
@@ -240,8 +295,7 @@ private Set createServiceLoaderValueExtractors() {
List valueExtractors;
- valueExtractors = AccessController.doPrivileged((PrivilegedAction>) () -> GetInstancesFromServiceLoader.action(Thread.currentThread().getContextClassLoader(),
- ValueExtractor.class).run());
+ valueExtractors = AccessController.doPrivileged((PrivilegedAction>) () -> new GetInstancesFromServiceLoader().run());
for (ValueExtractor> valueExtractor : valueExtractors) {
valueExtractorDescriptors.add(new ValueExtractorDescriptor(createManagedObject((Class extends ValueExtractor>>) valueExtractor.getClass())));
}
@@ -285,4 +339,8 @@ private Class> loadClass(String className, ClassLoader appClassLoader) {
throw new ValidationException(nls.getString("BVKEY_UNABLE_TO_CREATE_VALIDATION_FACTORY", "BVKEY_UNABLE_TO_CREATE_VALIDATION_FACTORY"), e);
}
}
+
+ private boolean isBeanValidationVersion31(Version runtimeVersion) {
+ return runtimeVersion.compareTo(new Version(3, 1, 0)) == 0;
+ }
}
diff --git a/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ConstrainedHelperImpl.java b/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ConstrainedHelperImpl.java
index bef5c01eb17..c6e184b38e1 100644
--- a/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ConstrainedHelperImpl.java
+++ b/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ConstrainedHelperImpl.java
@@ -1,10 +1,10 @@
/*******************************************************************************
- * Copyright (c) 2020 IBM Corporation and others.
+ * Copyright (c) 2020, 2024 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-2.0/
- *
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -43,7 +43,6 @@
import org.hibernate.validator.internal.util.classhierarchy.ClassHierarchyHelper;
import org.hibernate.validator.internal.util.logging.Log;
import org.hibernate.validator.internal.util.logging.LoggerFactory;
-import org.hibernate.validator.internal.util.privilegedactions.GetMethods;
import org.hibernate.validator.spi.properties.ConstrainableExecutable;
import org.hibernate.validator.spi.properties.GetterPropertySelectionStrategy;
import org.osgi.service.component.annotations.Component;
@@ -109,7 +108,7 @@ public static List getAllMethods(Class> clazz) {
List methods = newArrayList();
for (Class> hierarchyClass : ClassHierarchyHelper.getHierarchy(clazz)) {
- Collections.addAll(methods, run(GetMethods.action(hierarchyClass)));
+ Collections.addAll(methods, run((PrivilegedAction) () -> hierarchyClass.getMethods()));
}
return methods;
diff --git a/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ValidatorFactoryBuilderImpl.java b/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ValidatorFactoryBuilderImpl.java
index 6d9aa95d291..f2f2668fe83 100644
--- a/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ValidatorFactoryBuilderImpl.java
+++ b/dev/com.ibm.ws.beanvalidation.v20/src/com/ibm/ws/beanvalidation/v20/ValidatorFactoryBuilderImpl.java
@@ -100,7 +100,7 @@ public ValidatorFactory buildValidatorFactory(final ClassLoader appClassLoader,
if (bvalManagedObjectBuilderSR.getReference() != null) {
BvalManagedObjectBuilder bvalManagedObjectBuilder = bvalManagedObjectBuilderSR.getServiceWithException();
- return bvalManagedObjectBuilder.injectValidatorFactoryResources(config, appClassLoader);
+ return bvalManagedObjectBuilder.injectValidatorFactoryResources(config, appClassLoader, runtimeVersion);
} else {
return config.buildValidatorFactory();
}
diff --git a/dev/com.ibm.ws.beanvalidation/src/com/ibm/ws/beanvalidation/service/BvalManagedObjectBuilder.java b/dev/com.ibm.ws.beanvalidation/src/com/ibm/ws/beanvalidation/service/BvalManagedObjectBuilder.java
index 44c0b0f93a8..b384bbd1cc7 100644
--- a/dev/com.ibm.ws.beanvalidation/src/com/ibm/ws/beanvalidation/service/BvalManagedObjectBuilder.java
+++ b/dev/com.ibm.ws.beanvalidation/src/com/ibm/ws/beanvalidation/service/BvalManagedObjectBuilder.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-2.0/
- *
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -15,6 +15,8 @@
import javax.validation.Configuration;
import javax.validation.ValidatorFactory;
+import org.osgi.framework.Version;
+
/**
* Interface for creating a ValidatorFactory using CDI managed objects.
*/
@@ -25,5 +27,5 @@ public interface BvalManagedObjectBuilder {
*
* @return CDI enabled ValidatorFactory
*/
- public ValidatorFactory injectValidatorFactoryResources(Configuration> config, ClassLoader appClassLoader);
+ public ValidatorFactory injectValidatorFactoryResources(Configuration> config, ClassLoader appClassLoader, Version runtimeVersion);
}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.classpath b/dev/io.openliberty.org.hibernate.validator.9.0/.classpath
new file mode 100644
index 00000000000..cea437cf2b8
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.project b/dev/io.openliberty.org.hibernate.validator.9.0/.project
new file mode 100644
index 00000000000..7b38ae15375
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.project
@@ -0,0 +1,23 @@
+
+
+ io.openliberty.org.hibernate.validator.9.0
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.settings/bndtools.core.prefs b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/bndtools.core.prefs
new file mode 100644
index 00000000000..789fa99991a
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/bndtools.core.prefs
@@ -0,0 +1,2 @@
+compileErrorAction=build
+eclipse.preferences.version=1
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.core.resources.prefs b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..25d9425fe34
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.core.prefs b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..74e9bcde7c8
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,301 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=18
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.ui.prefs b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..58295b7d4cb
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n * \n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n// Do you need FFDC here? Remember FFDC instrumentation and @FFDCIgnore\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/bnd.bnd b/dev/io.openliberty.org.hibernate.validator.9.0/bnd.bnd
new file mode 100644
index 00000000000..b15f889a7cd
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/bnd.bnd
@@ -0,0 +1,25 @@
+#*******************************************************************************
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+#*******************************************************************************
+-include= jar:${fileuri;${repo;org.hibernate.validator:hibernate-validator;9.0.0.Beta3;EXACT}}!/META-INF/MANIFEST.MF,bnd.overrides
+
+-buildpath: \
+ org.hibernate.validator:hibernate-validator;version=9.0.0.Beta3
+
+-testpath: \
+ ../build.sharedResources/lib/junit/old/junit.jar;version=file, \
+ com.ibm.ws.junit.extensions;version=latest
+
+javac.source: 17
+javac.target: 17
+
+Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/bnd.overrides b/dev/io.openliberty.org.hibernate.validator.9.0/bnd.overrides
new file mode 100644
index 00000000000..4267e6d15f6
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/bnd.overrides
@@ -0,0 +1,76 @@
+-include= ~../cnf/resources/bnd/rejar.props, \
+ ~../cnf/resources/bnd/app-resources.bnd
+bVersion=1.0
+bSymbolicName=io.openliberty.org.hibernate.validator.9.0
+
+Bundle-Name: Hibernate Validator Engine
+Bundle-SymbolicName: io.openliberty.org.hibernate.validator.9.0
+Bundle-Description: Hibernate's Jakarta Validation 3.1 reference implementation; version=9.0.0.Beta3
+
+# Provide these as resources to applications
+#TODO add the 3.1 schemas when upgrading to the final Hibernate Validator 9.0
+app-resources= \
+ META-INF/services/jakarta.validation.spi.ValidationProvider | \
+ META-INF/validation-mapping-1.0.xsd | \
+ META-INF/validation-configuration-1.0.xsd | \
+ META-INF/validation-mapping-1.1.xsd | \
+ META-INF/validation-configuration-1.1.xsd | \
+ META-INF/validation-mapping-2.0.xsd | \
+ META-INF/validation-configuration-2.0.xsd | \
+ META-INF/validation-mapping-3.0.xsd | \
+ META-INF/validation-configuration-3.0.xsd
+
+Export-Package: \
+ org.hibernate.validator.*;version="9.0.0.Beta3";thread-context=true
+
+Import-Package: \
+ !jakarta.persistence, \
+ jakarta.validation;version="[3.1.0,4.0.0)", \
+ jakarta.validation.constraints;version="[3.1.0,4.0.0)", \
+ jakarta.validation.constraintvalidation;version="[3.1.0,4.0.0)", \
+ jakarta.validation.executable;version="[3.1.0,4.0.0)", \
+ jakarta.validation.groups;version="[3.1.0,4.0.00)", \
+ jakarta.validation.metadata;version="[3.1.0,4.0.0)", \
+ jakarta.validation.spi;version="[3.1.0,4.0.00)", \
+ jakarta.validation.valueextraction;version="[3.1.0,4.0.0)", \
+ javax.script;version=!, \
+ javax.xml.namespace;version=!, \
+ javax.xml.stream;version=!, \
+ javax.xml.stream.events;version=!, \
+ javax.xml.transform;version=!, \
+ javax.xml.transform.stream;version=!, \
+ javax.xml.validation;version=!, \
+ jakarta.el;version="[5.0.0,7.0.0)";resolution:=optional, \
+ org.xml.sax;version=!, \
+ org.jboss.logging;version="[3.1.0,4.0.0)", \
+ com.fasterxml.classmate;version="[1.3,2.0.0)", \
+ com.fasterxml.classmate.members;version="[1.3,2.0.0)", \
+ org.joda.time;version="[2.0.0,3.0.0)";resolution:=optional, \
+ javax.money;version="[1.0.0,2.0.0)";resolution:=optional, \
+ com.thoughtworks.paranamer;version="[2.5.5,3.0.0)";resolution:=optional, \
+ com.ibm.wsspi.classloading,\
+ org.apache.el
+
+# Use dynamicImport-Package for persistence because the open source
+# optionally uses JPA if it is there for a customized
+# TraversableRevolver implementation.
+DynamicImport-Package: \
+ jakarta.persistence, \
+ javafx.*
+
+Include-Resource: \
+ @${repo;org.hibernate.validator:hibernate-validator;9.0.0.Beta3;EXACT}!/META-INF/*.xsd, \
+ @${repo;org.hibernate.validator:hibernate-validator;9.0.0.Beta3;EXACT}!/META-INF/services/*, \
+ org=resources/org
+
+Service-Component:\
+ org.hibernate.validator.HibernateValidator;\
+ implementation:=org.hibernate.validator.HibernateValidator;\
+ provide:=jakarta.validation.spi.ValidationProvider;\
+ configuration-policy:=ignore;\
+ properties:='implementation.class=org.hibernate.validator.HibernateValidator',\
+ io.openliberty.org.hibernate.validator.ResourceProvider; \
+ implementation:=com.ibm.wsspi.classloading.ResourceProvider; \
+ provide:=com.ibm.wsspi.classloading.ResourceProvider; \
+ configuration-policy:=ignore; \
+ properties:="resources=${app-resources}"
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/build.gradle b/dev/io.openliberty.org.hibernate.validator.9.0/build.gradle
new file mode 100644
index 00000000000..c4d72d3bb97
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/build.gradle
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+test.dependsOn assemble
+
+copyPiiFiles {
+ include '**/*.properties'
+}
\ No newline at end of file
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/META-INF/beans.xml b/dev/io.openliberty.org.hibernate.validator.9.0/resources/META-INF/beans.xml
new file mode 100644
index 00000000000..960bc5182e7
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/META-INF/beans.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages.properties
new file mode 100644
index 00000000000..53dd387311e
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages.properties
@@ -0,0 +1,65 @@
+jakarta.validation.constraints.AssertFalse.message = must be false
+jakarta.validation.constraints.AssertTrue.message = must be true
+jakarta.validation.constraints.DecimalMax.message = must be less than ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = must be greater than ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.Digits.message = numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)
+jakarta.validation.constraints.Email.message = must be a well-formed email address
+jakarta.validation.constraints.Future.message = must be a future date
+jakarta.validation.constraints.FutureOrPresent.message = must be a date in the present or in the future
+jakarta.validation.constraints.Max.message = must be less than or equal to {value}
+jakarta.validation.constraints.Min.message = must be greater than or equal to {value}
+jakarta.validation.constraints.Negative.message = must be less than 0
+jakarta.validation.constraints.NegativeOrZero.message = must be less than or equal to 0
+jakarta.validation.constraints.NotBlank.message = must not be blank
+jakarta.validation.constraints.NotEmpty.message = must not be empty
+jakarta.validation.constraints.NotNull.message = must not be null
+jakarta.validation.constraints.Null.message = must be null
+jakarta.validation.constraints.Past.message = must be a past date
+jakarta.validation.constraints.PastOrPresent.message = must be a date in the past or in the present
+jakarta.validation.constraints.Pattern.message = must match "{regexp}"
+jakarta.validation.constraints.Positive.message = must be greater than 0
+jakarta.validation.constraints.PositiveOrZero.message = must be greater than or equal to 0
+jakarta.validation.constraints.Size.message = size must be between {min} and {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = invalid credit card number
+org.hibernate.validator.constraints.Currency.message = invalid currency (must be one of {value})
+org.hibernate.validator.constraints.EAN.message = invalid {type} barcode
+org.hibernate.validator.constraints.ISBN.message = invalid ISBN
+org.hibernate.validator.constraints.Length.message = length must be between {min} and {max}
+org.hibernate.validator.constraints.CodePointLength.message = length must be between {min} and {max}
+org.hibernate.validator.constraints.LuhnCheck.message = the check digit for ${validatedValue} is invalid, Luhn Modulo 10 checksum failed
+org.hibernate.validator.constraints.Mod10Check.message = the check digit for ${validatedValue} is invalid, Modulo 10 checksum failed
+org.hibernate.validator.constraints.Mod11Check.message = the check digit for ${validatedValue} is invalid, Modulo 11 checksum failed
+org.hibernate.validator.constraints.Normalized.message = must be normalized
+org.hibernate.validator.constraints.ParametersScriptAssert.message = script expression "{script}" didn't evaluate to true
+org.hibernate.validator.constraints.Range.message = must be between {min} and {max}
+org.hibernate.validator.constraints.ScriptAssert.message = script expression "{script}" didn't evaluate to true
+org.hibernate.validator.constraints.UniqueElements.message = must only contain unique elements
+org.hibernate.validator.constraints.URL.message = must be a valid URL
+org.hibernate.validator.constraints.UUID.message = must be a valid UUID
+
+org.hibernate.validator.constraints.br.CNPJ.message = invalid Brazilian corporate taxpayer registry number (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = invalid Brazilian individual taxpayer registry number (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = invalid Brazilian Voter ID card number
+
+org.hibernate.validator.constraints.kor.KorRRN.message = invalid Korean resident registration number (KorRRN)
+
+org.hibernate.validator.constraints.pl.REGON.message = invalid Polish Taxpayer Identification Number (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = invalid VAT Identification Number (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = invalid Polish National Identification Number (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = invalid Russian taxpayer identification number (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = must be shorter than${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = must be longer than${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+
+
+org.hibernate.validator.constraints.BitcoinAddress.message.single = must be a valid Bitcoin address for the type:
+org.hibernate.validator.constraints.BitcoinAddress.message.multiple = must be a valid Bitcoin address for one of these types:
+
+org.hibernate.validator.constraints.BitcoinAddress.type.p2pkh = Legacy (P2PKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2sh = Nested SegWit (P2SH)
+org.hibernate.validator.constraints.BitcoinAddress.type.bech32 = Native SegWit (Bech32)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wsh = SegWit variant of P2SH (P2WSH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wpkh = SegWit variant of P2PKH (P2WPKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2tr = Taproot (P2TR)
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ar.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ar.properties
new file mode 100644
index 00000000000..5a5a52b68d6
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ar.properties
@@ -0,0 +1,25 @@
+jakarta.validation.constraints.AssertFalse.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0627\u0637\u0626\u0629
+jakarta.validation.constraints.AssertTrue.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0635\u062d\u064a\u062d\u0629
+jakarta.validation.constraints.DecimalMax.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0623\u0642\u0644 \u0645\u0646 ${inclusive == true ? '\u064a\u0648\u0627\u0633\u064a \u0648\u0623 ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0623\u0643\u0628\u0631 \u0645\u0646 ${inclusive == true ? '\u064a\u0648\u0627\u0633\u064a \u0648\u0623 ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u062e\u0627\u0631\u062c \u0627\u0644\u062d\u062f\u0648\u062f (<{integer} \u0623\u0631\u0642\u0627\u0645>. <{fraction} \u0623\u0631\u0642\u0627\u0645> \u0645\u062a\u0648\u0642\u0639\u0629)
+jakarta.validation.constraints.Email.message = \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u063a\u064a\u0631 \u0645\u0631\u0643\u0628 \u0628\u0634\u0643\u0644 \u062c\u064a\u062f
+jakarta.validation.constraints.Future.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644
+jakarta.validation.constraints.Max.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0623\u0642\u0644 \u0623\u0648 \u0645\u0633\u0627\u0648\u064a\u0629 \u0644 {value}
+jakarta.validation.constraints.Min.message = \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0623\u0643\u0628\u0631 \u0645\u0646 \u0623\u0648 \u0645\u0633\u0627\u0648\u064a\u0629 \u0644 {value}
+jakarta.validation.constraints.NotBlank.message = \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0641\u0627\u0631\u063a\u0629
+jakarta.validation.constraints.NotEmpty.message = \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0641\u0627\u0631\u063a\u0629
+jakarta.validation.constraints.NotNull.message = \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0645\u0646\u0639\u062f\u0645
+jakarta.validation.constraints.Null.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0645\u0646\u0639\u062f\u0645
+jakarta.validation.constraints.Past.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0641\u064a \u0627\u0644\u0645\u0627\u0636\u064a
+jakarta.validation.constraints.Pattern.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u062a\u0637\u0627\u0628\u0642 \u0645\u0639 "{regexp}"
+jakarta.validation.constraints.Size.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0627\u0644\u062d\u062c\u0645 \u0628\u064a\u0646 {min} \u0648{max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062a\u0645\u0627\u0646 \u063a\u064a\u0631 \u0635\u0627\u0644\u062d
+org.hibernate.validator.constraints.EAN.message = \u0627\u0644\u0634\u0641\u0631\u0629 {type} \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629
+org.hibernate.validator.constraints.Length.message = \u0627\u0644\u0637\u0648\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0628\u064a\u0646 {min} \u0648{max}
+org.hibernate.validator.constraints.CodePointLength.message = \u0627\u0644\u0637\u0648\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0628\u064a\u0646 {min} \u0648{max}
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u0627\u0644\u062a\u0639\u0628\u064a\u0631 \u0627\u0644\u0646\u0635\u064a "{script}" \u0644\u0645 \u064a\u062a\u0645 \u062a\u0642\u064a\u064a\u0645\u0647 \u0635\u062d\u064a\u062d\u0627
+org.hibernate.validator.constraints.Range.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0628\u064a\u0646 {min} \u0648{max}
+org.hibernate.validator.constraints.ScriptAssert.message = \u0627\u0644\u062a\u0639\u0628\u064a\u0631 \u0627\u0644\u0646\u0635\u064a "{script}" \u0644\u0645 \u064a\u062a\u0645 \u062a\u0642\u064a\u064a\u0645\u0647 \u0635\u062d\u064a\u062d\u0627
+org.hibernate.validator.constraints.URL.message = \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0645\u062d\u062f\u062f \u0645\u0648\u0642\u0639 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0635\u062d\u064a\u062d\u0627
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_cs.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_cs.properties
new file mode 100644
index 00000000000..0d1ceaf3d20
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_cs.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = mus\u00ed m\u00edt hodnotu ne
+jakarta.validation.constraints.AssertTrue.message = mus\u00ed m\u00edt hodnotu ano
+jakarta.validation.constraints.DecimalMax.message = mus\u00ed b\u00fdt men\u0161\u00ed ne\u017e ${inclusive == true ? 'nebo rovna hodnot\u011b ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = mus\u00ed b\u00fdt v\u011bt\u0161\u00ed ne\u017e ${inclusive == true ? 'nebo rovna hodnot\u011b ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u010d\u00edseln\u00e1 hodnota mimo rozsah (o\u010dek\u00e1v\u00e1no: <{integer} \u010d\u00edslic>.<{fraction} \u010d\u00edslic>)
+jakarta.validation.constraints.Email.message = mus\u00ed m\u00edt spr\u00e1vn\u011b utvo\u0159enou e-mailovou adresu
+jakarta.validation.constraints.Future.message = mus\u00ed se jednat o datum v budoucnu
+jakarta.validation.constraints.FutureOrPresent.message = mus\u00ed m\u00edt aktu\u00e1ln\u00ed nebo budouc\u00ed datum
+jakarta.validation.constraints.Max.message = mus\u00ed b\u00fdt men\u0161\u00ed nebo rovna hodnot\u011b {value}
+jakarta.validation.constraints.Min.message = mus\u00ed b\u00fdt v\u011bt\u0161\u00ed nebo rovna hodnot\u011b {value}
+jakarta.validation.constraints.Negative.message = mus\u00ed b\u00fdt men\u0161\u00ed ne\u017e 0
+jakarta.validation.constraints.NegativeOrZero.message = mus\u00ed b\u00fdt men\u0161\u00ed ne\u017e nebo rovna hodnot\u011b 0
+jakarta.validation.constraints.NotBlank.message = nesm\u00ed b\u00fdt pr\u00e1zdn\u00e1
+jakarta.validation.constraints.NotEmpty.message = nesm\u00ed b\u00fdt pr\u00e1zdn\u00e1
+jakarta.validation.constraints.NotNull.message = nesm\u00ed m\u00edt hodnotu Null
+jakarta.validation.constraints.Null.message = mus\u00ed m\u00edt hodnotu Null
+jakarta.validation.constraints.Past.message = mus\u00ed se jednat o datum v minulosti
+jakarta.validation.constraints.PastOrPresent.message = mus\u00ed b\u00fdt datum v minulosti nebo aktu\u00e1ln\u00ed
+jakarta.validation.constraints.Pattern.message = mus\u00ed odpov\u00eddat "{regexp}"
+jakarta.validation.constraints.Positive.message = mus\u00ed b\u00fdt v\u011bt\u0161\u00ed ne\u017e 0
+jakarta.validation.constraints.PositiveOrZero.message = mus\u00ed b\u00fdt v\u011bt\u0161\u00ed ne\u017e nebo rovna hodnot\u011b 0
+jakarta.validation.constraints.Size.message = velikost mus\u00ed le\u017eet v rozsahu {min} a\u017e {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = neplatn\u00e9 \u010d\u00edslo kreditn\u00ed karty
+org.hibernate.validator.constraints.Currency.message = neplatn\u00e1 m\u011bna (mus\u00ed m\u00edt jednu z hodnot {value})
+org.hibernate.validator.constraints.EAN.message = neplatn\u00fd \u010d\u00e1rov\u00fd k\u00f3d {type}
+org.hibernate.validator.constraints.ISBN.message = neplatn\u00e9 ISBN
+org.hibernate.validator.constraints.Length.message = d\u00e9lka mus\u00ed le\u017eet v rozsahu {min} a\u017e {max}
+org.hibernate.validator.constraints.CodePointLength.message = d\u00e9lka mus\u00ed le\u017eet v rozsahu {min} a\u017e {max}
+org.hibernate.validator.constraints.LuhnCheck.message = kontroln\u00ed \u010d\u00edslice pro ${validatedValue} je neplatn\u00e1, kontroln\u00ed sou\u010det Luhn Modulo 10 se nezda\u0159il
+org.hibernate.validator.constraints.Mod10Check.message = kontroln\u00ed \u010d\u00edslice pro ${validatedValue} je neplatn\u00e1, kontroln\u00ed sou\u010det Modulo 10 se nezda\u0159il
+org.hibernate.validator.constraints.Mod11Check.message = kontroln\u00ed \u010d\u00edslice pro ${validatedValue} je neplatn\u00e1, kontroln\u00ed sou\u010det Modulo 11 se nezda\u0159il
+org.hibernate.validator.constraints.ParametersScriptAssert.message = v\u00fdraz skriptu "{script}" se nevyhodnotil na true
+org.hibernate.validator.constraints.Range.message = mus\u00ed le\u017eet v rozsahu {min} a\u017e {max}
+org.hibernate.validator.constraints.ScriptAssert.message = v\u00fdraz skriptu "{script}" se nevyhodnotil na true
+org.hibernate.validator.constraints.UniqueElements.message = mus\u00ed obsahovat pouze jedine\u010dn\u00e9 prvky
+org.hibernate.validator.constraints.URL.message = mus\u00ed b\u00fdt platnou adresou URL
+org.hibernate.validator.constraints.UUID.message = mus\u00ed b\u00fdt platnou uuid
+
+org.hibernate.validator.constraints.br.CNPJ.message = neplatn\u00e9 brazilsk\u00e9 registra\u010dn\u00ed \u010d\u00edslo pl\u00e1tce korpor\u00e1tn\u00ed dan\u011b (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = neplatn\u00e9 brazilsk\u00e9 registra\u010dn\u00ed \u010d\u00edslo individu\u00e1ln\u00edho pl\u00e1tce dan\u011b (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = neplatn\u00e9 brazilsk\u00e9 \u010d\u00edslo karty Voter ID
+
+org.hibernate.validator.constraints.pl.REGON.message = neplatn\u00e9 Polsk\u00e9 Identifika\u010dn\u00ed \u010d\u00edslo pl\u00e1tn\u011b dan\u011b (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = neplatn\u00e9 da\u0148ov\u00e9 identifika\u010dn\u00ed \u010d\u00edslo (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = neplatn\u00e9 Polsk\u00e9 n\u00e1rodn\u00ed Identifika\u010dn\u00ed \u010d\u00edslo (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = neplatn\u00e9 ru\u0161tina Identifika\u010dn\u00ed \u010d\u00edslo pl\u00e1tn\u011b dan\u011b (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = mus\u00ed b\u00fdt krat\u0161\u00ed ne\u017e${inclusive == true ? ' nebo rovno hodnot\u011b' : ''}${days == 0 ? '' : days == 1 ? ' 1 den' : ' ' += days += ' dny/\u016f'}${hours == 0 ? '' : hours == 1 ? ' 1 hod' : ' ' += hours += ' hod'}${minutes == 0 ? '' : minutes == 1 ? ' 1 min' : ' ' += minutes += ' min'}${seconds == 0 ? '' : seconds == 1 ? ' 1 s' : ' ' += seconds += ' s'}${millis == 0 ? '' : millis == 1 ? ' 1 ms' : ' ' += millis += ' ms'}${nanos == 0 ? '' : nanos == 1 ? ' 1 ns' : ' ' += nanos += ' ns'}
+org.hibernate.validator.constraints.time.DurationMin.message = mus\u00ed b\u00fdt del\u0161\u00ed ne\u017e${inclusive == true ? ' nebo rovno hodnot\u011b' : ''}${days == 0 ? '' : days == 1 ? ' 1 den' : ' ' += days += ' dny/\u016f'}${hours == 0 ? '' : hours == 1 ? ' 1 hod' : ' ' += hours += ' hod'}${minutes == 0 ? '' : minutes == 1 ? ' 1 min' : ' ' += minutes += ' min'}${seconds == 0 ? '' : seconds == 1 ? ' 1 s' : ' ' += seconds += ' s'}${millis == 0 ? '' : millis == 1 ? ' 1 ms' : ' ' += millis += ' ms'}${nanos == 0 ? '' : nanos == 1 ? ' 1 ns' : ' ' += nanos += ' ns'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_da.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_da.properties
new file mode 100644
index 00000000000..d5e3e3d587d
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_da.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = skal v\u00e6re falsk
+jakarta.validation.constraints.AssertTrue.message = skal v\u00e6re sand
+jakarta.validation.constraints.DecimalMax.message = skal v\u00e6re mindre end ${inclusive == true ? 'eller det samme som ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = skal v\u00e6re st\u00f8rre end ${inclusive == true ? 'eller det samme som ' : ''}{value}
+jakarta.validation.constraints.Digits.message = tal v\u00e6rdierne er udenfor det gyldige omr\u00e5de (<{integer} digits>.<{fraction} digits> forventet)
+jakarta.validation.constraints.Email.message = skal v\u00e6re en korrekt formateret e-mail-adresse
+jakarta.validation.constraints.Future.message = skal v\u00e6re en dato i fremtiden
+jakarta.validation.constraints.FutureOrPresent.message = skal v\u00e6re en dato i nutiden eller i fremtiden
+jakarta.validation.constraints.Max.message = skal v\u00e6re mindre end eller lig med {value}
+jakarta.validation.constraints.Min.message = skal v\u00e6re st\u00f8rre end eller lig med {value}
+jakarta.validation.constraints.Negative.message = skal v\u00e6re mindre end 0
+jakarta.validation.constraints.NegativeOrZero.message = skal v\u00e6re mindre end eller lig med 0
+jakarta.validation.constraints.NotBlank.message = m\u00e5 ikke v\u00e6re blank
+jakarta.validation.constraints.NotEmpty.message = m\u00e5 ikke v\u00e6re tom
+jakarta.validation.constraints.NotNull.message = m\u00e5 ikke v\u00e6re null
+jakarta.validation.constraints.Null.message = skal v\u00e6re null
+jakarta.validation.constraints.Past.message = skal v\u00e6re en dato fortiden
+jakarta.validation.constraints.PastOrPresent.message = skal v\u00e6re en dato i fortiden eller i nutiden
+jakarta.validation.constraints.Pattern.message = skal matche "{regexp}"
+jakarta.validation.constraints.Positive.message = skal v\u00e6re st\u00f8rre end 0
+jakarta.validation.constraints.PositiveOrZero.message = skal v\u00e6re st\u00f8rre end eller lig med 0
+jakarta.validation.constraints.Size.message = st\u00f8rrelse skal v\u00e6re mellem {min} og {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = ugyldigt kreditkortnummer
+org.hibernate.validator.constraints.Currency.message = ugyldig valuta (skal v\u00e6re en af {value})
+org.hibernate.validator.constraints.EAN.message = ugyldig {type} stregkode
+org.hibernate.validator.constraints.ISBN.message = ugyldigt ISBN
+org.hibernate.validator.constraints.Length.message = l\u00e6ngden skal v\u00e6re mellem {min} og {max}
+org.hibernate.validator.constraints.CodePointLength.message = l\u00e6ngden skal v\u00e6re mellem {min} og {max}
+org.hibernate.validator.constraints.LuhnCheck.message = kontrolcifferet for ${validatedValue} er ugyldigt, Luhn Modulo 10 checksum mislykkedes
+org.hibernate.validator.constraints.Mod10Check.message = kontrolcifferet for ${validatedValue} er ugyldigt, Modulo 10 checksum mislykkedes
+org.hibernate.validator.constraints.Mod11Check.message = kontrolcifferet for ${validatedValue} er ugyldigt, Modulo 11 checksum mislykkedes
+org.hibernate.validator.constraints.ParametersScriptAssert.message = script udtryk "{script}" evaluerede ikke til true
+org.hibernate.validator.constraints.Range.message = skal v\u00e6re mellem {min} og {max}
+org.hibernate.validator.constraints.ScriptAssert.message = script udtryk "{script}" evaluerede ikke til true
+org.hibernate.validator.constraints.UniqueElements.message = m\u00e5 kun indeholde unikke elementer
+org.hibernate.validator.constraints.URL.message = skal v\u00e6re en gyldig webadresse
+org.hibernate.validator.constraints.UUID.message = skal v\u00e6re en gyldig UUID
+
+org.hibernate.validator.constraints.br.CNPJ.message = ugyldigt brasiliansk selskabsskattem\u00e6ssige registreringsnummer (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = ugyldigt brasiliansk enkeltregistratornummer (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = Ugyldigt brasiliansk Voter ID-kortnummer
+
+org.hibernate.validator.constraints.pl.REGON.message = ugyldigt polsk skattebetalers identifikationsnummer (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = ugyldigt momsidentifikationsnummer (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = ugyldigt polsk nationalt identifikationsnummer (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = ugyldigt russisk skattebetalers identifikationsnummer (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = skal v\u00e6re kortere end${inclusive == true ? ' eller lig med' : ''}${days == 0 ? '' : days == 1 ? ' 1 dag' : ' ' += days += ' dage'}${hours == 0 ? '' : hours == 1 ? ' 1 time' : ' ' += hours += ' timer'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minut' : ' ' += minutes += ' minutter'}${seconds == 0 ? '' : seconds == 1 ? ' 1 sekund' : ' ' += seconds += ' sekunder'}${millis == 0 ? '' : millis == 1 ? ' 1 millisekund' : ' ' += millis += ' millisekunder'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosekund' : ' ' += nanos += ' nanosekunder'}
+org.hibernate.validator.constraints.time.DurationMin.message = skal v\u00e6re l\u00e6ngere end${inclusive == true ? ' eller lig med' : ''}${days == 0 ? '' : days == 1 ? ' 1 dag' : ' ' += days += ' dage'}${hours == 0 ? '' : hours == 1 ? ' 1 time' : ' ' += hours += ' timer'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minut' : ' ' += minutes += ' minutter'}${seconds == 0 ? '' : seconds == 1 ? ' 1 sekund' : ' ' += seconds += ' sekunder'}${millis == 0 ? '' : millis == 1 ? ' 1 millisekund' : ' ' += millis += ' millisekunder'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosekund' : ' ' += nanos += ' nanosekunder'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_de.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_de.properties
new file mode 100644
index 00000000000..499a6750ba0
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_de.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = muss falsch sein
+jakarta.validation.constraints.AssertTrue.message = muss wahr sein
+jakarta.validation.constraints.DecimalMax.message = muss kleiner ${inclusive == true ? 'oder gleich ' : ''}{value} sein
+jakarta.validation.constraints.DecimalMin.message = muss gr\u00f6\u00dfer ${inclusive == true ? 'oder gleich ' : ''}{value} sein
+jakarta.validation.constraints.Digits.message = numerischer Wert au\u00dferhalb des g\u00fcltigen Bereichs (<{integer} digits>.<{fraction} digits> erwartet)
+jakarta.validation.constraints.Email.message = muss eine korrekt formatierte E-Mail-Adresse sein
+jakarta.validation.constraints.Future.message = muss ein Datum in der Zukunft sein
+jakarta.validation.constraints.FutureOrPresent.message = muss ein Datum in der Gegenwart oder in der Zukunft sein
+jakarta.validation.constraints.Max.message = muss kleiner-gleich {value} sein
+jakarta.validation.constraints.Min.message = muss gr\u00f6\u00dfer-gleich {value} sein
+jakarta.validation.constraints.Negative.message = muss kleiner als 0 sein
+jakarta.validation.constraints.NegativeOrZero.message = muss kleiner-gleich 0 sein
+jakarta.validation.constraints.NotBlank.message = darf nicht leer sein
+jakarta.validation.constraints.NotEmpty.message = darf nicht leer sein
+jakarta.validation.constraints.NotNull.message = darf nicht null sein
+jakarta.validation.constraints.Null.message = muss null sein
+jakarta.validation.constraints.Past.message = muss ein Datum in der Vergangenheit sein
+jakarta.validation.constraints.PastOrPresent.message = muss ein Datum in der Vergangenheit oder in der Gegenwart sein
+jakarta.validation.constraints.Pattern.message = muss mit "{regexp}" \u00fcbereinstimmen
+jakarta.validation.constraints.Positive.message = muss gr\u00f6\u00dfer als 0 sein
+jakarta.validation.constraints.PositiveOrZero.message = muss gr\u00f6\u00dfer-gleich 0 sein
+jakarta.validation.constraints.Size.message = Gr\u00f6\u00dfe muss zwischen {min} und {max} sein
+
+org.hibernate.validator.constraints.CreditCardNumber.message = ung\u00fcltige Kreditkartennummer
+org.hibernate.validator.constraints.Currency.message = ung\u00fcltige W\u00e4hrung (muss eine der folgenden sein: {value})
+org.hibernate.validator.constraints.EAN.message = ung\u00fcltiger {type}-Barcode
+org.hibernate.validator.constraints.ISBN.message = ung\u00fcltige ISBN
+org.hibernate.validator.constraints.Length.message = L\u00e4nge muss zwischen {min} und {max} sein
+org.hibernate.validator.constraints.CodePointLength.message = L\u00e4nge muss zwischen {min} und {max} sein
+org.hibernate.validator.constraints.LuhnCheck.message = die Pr\u00fcfziffer f\u00fcr ${validatedValue} ist ung\u00fcltig, Luhn Modulo 10-Kontrollsumme ist fehlgeschlagen
+org.hibernate.validator.constraints.Mod10Check.message = die Pr\u00fcfziffer f\u00fcr ${validatedValue} ist ung\u00fcltig, Modulo 10-Kontrollsumme ist fehlgeschlagen
+org.hibernate.validator.constraints.Mod11Check.message = die Pr\u00fcfziffer f\u00fcr ${validatedValue} ist ung\u00fcltig, Modulo 11-Kontrollsumme ist fehlgeschlagen
+org.hibernate.validator.constraints.ParametersScriptAssert.message = die Evaluierung des Scriptausdrucks "{script}" ergab nicht true
+org.hibernate.validator.constraints.Range.message = muss zwischen {min} und {max} sein
+org.hibernate.validator.constraints.ScriptAssert.message = die Evaluierung des Scriptausdrucks "{script}" ergab nicht true
+org.hibernate.validator.constraints.UniqueElements.message = darf nur eindeutige Elemente enthalten
+org.hibernate.validator.constraints.URL.message = muss eine g\u00fcltige URL sein
+org.hibernate.validator.constraints.UUID.message = muss eine g\u00fcltige UUID sein
+
+org.hibernate.validator.constraints.br.CNPJ.message = ung\u00fcltige brasilianische Registriernummer f\u00fcr K\u00f6rperschaftssteuerzahlungen (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = ung\u00fcltige brasilianische Registriernummer f\u00fcr Steuerzahlungen nat\u00fcrlicher Personen (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = ung\u00fcltige brasilianische ID-Karte f\u00fcr Entscheidungsberechtigte
+
+org.hibernate.validator.constraints.pl.REGON.message = ung\u00fcltige polnische Steuerzahleridentifikationsnummer (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = ung\u00fcltige Mehrwertsteueridentifikationsnummer (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = ung\u00fcltige polnische nationale Identifikationsnummer (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = ung\u00fcltige russisch Steuerzahleridentifikationsnummer (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = muss k\u00fcrzer sein als${inclusive == true ? ' oder gleich' : ''}${days == 0 ? '' : days == 1 ? ' 1 Tag' : ' ' += days += ' Tage'}${hours == 0 ? '' : hours == 1 ? ' 1 Stunde' : ' ' += hours += ' Stunden'}${minutes == 0 ? '' : minutes == 1 ? ' 1 Minute' : ' ' += minutes += ' Minuten'}${seconds == 0 ? '' : seconds == 1 ? ' 1 Sekunde' : ' ' += seconds += ' Sekunden'}${millis == 0 ? '' : millis == 1 ? ' 1 Millisekunde' : ' ' += millis += ' Millisekunden'}${nanos == 0 ? '' : nanos == 1 ? ' 1 Nanosekunde' : ' ' += nanos += ' Nanosekunden'}
+org.hibernate.validator.constraints.time.DurationMin.message = muss gr\u00f6\u00dfer sein als${inclusive == true ? ' oder gleich' : ''}${days == 0 ? '' : days == 1 ? ' 1 Tag' : ' ' += days += ' Tage'}${hours == 0 ? '' : hours == 1 ? ' 1 Stunde' : ' ' += hours += ' Stunden'}${minutes == 0 ? '' : minutes == 1 ? ' 1 Minute' : ' ' += minutes += ' Minuten'}${seconds == 0 ? '' : seconds == 1 ? ' 1 Sekunde' : ' ' += seconds += ' Sekunden'}${millis == 0 ? '' : millis == 1 ? ' 1 Millisekunde' : ' ' += millis += ' Millisekunden'}${nanos == 0 ? '' : nanos == 1 ? ' 1 Nanosekunde' : ' ' += nanos += ' Nanosekunden'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_en.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_en.properties
new file mode 100644
index 00000000000..ccd6679a15c
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_en.properties
@@ -0,0 +1,8 @@
+# This file is intentionally left empty. All calls to this bundle will
+# be delegated to the parent bundle ValidationMessages (which contains
+# English messages).
+#
+# Not providing this bundle would cause the bundle for the default
+# locale to take precedence over the base bundle. If the default locale
+# is not English but one, for which a resource bundle exists (e.g. German),
+# the English texts would never be returned.
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_es.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_es.properties
new file mode 100644
index 00000000000..ea3b12c69c6
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_es.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = debe ser falso
+jakarta.validation.constraints.AssertTrue.message = debe ser verdadero
+jakarta.validation.constraints.DecimalMax.message = debe ser menor que ${inclusive == true ? 'o igual a ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = debe ser mayor que ${inclusive == true ? 'o igual a ' : ''}{value}
+jakarta.validation.constraints.Digits.message = valor num\u00e9rico fuera de l\u00edmites (se esperaba <{integer} d\u00edgitos>.<{fraction} d\u00edgitos>)
+jakarta.validation.constraints.Email.message = debe ser una direcci\u00f3n de correo electr\u00f3nico con formato correcto
+jakarta.validation.constraints.Future.message = debe ser una fecha futura
+jakarta.validation.constraints.FutureOrPresent.message = debe ser una fecha en el presente o en el futuro
+jakarta.validation.constraints.Max.message = debe ser menor que o igual a {value}
+jakarta.validation.constraints.Min.message = debe ser mayor que o igual a {value}
+jakarta.validation.constraints.Negative.message = debe ser menor que 0
+jakarta.validation.constraints.NegativeOrZero.message = debe ser menor que o igual a 0
+jakarta.validation.constraints.NotBlank.message = no debe estar vac\u00edo
+jakarta.validation.constraints.NotEmpty.message = no debe estar vac\u00edo
+jakarta.validation.constraints.NotNull.message = no debe ser nulo
+jakarta.validation.constraints.Null.message = debe ser nulo
+jakarta.validation.constraints.Past.message = debe ser una fecha pasada
+jakarta.validation.constraints.PastOrPresent.message = debe ser una fecha en el pasado o en el presente
+jakarta.validation.constraints.Pattern.message = debe coincidir con "{regexp}"
+jakarta.validation.constraints.Positive.message = debe ser mayor que 0
+jakarta.validation.constraints.PositiveOrZero.message = debe ser mayor que o igual a 0
+jakarta.validation.constraints.Size.message = el tama\u00f1o debe estar entre {min} y {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = n\u00famero de tarjeta de cr\u00e9dito no v\u00e1lido
+org.hibernate.validator.constraints.Currency.message = moneda no v\u00e1lida (debe ser una de {value})
+org.hibernate.validator.constraints.EAN.message = c\u00f3digo de barras {type} no v\u00e1lido
+org.hibernate.validator.constraints.ISBN.message = ISBN no v\u00e1lido
+org.hibernate.validator.constraints.Length.message = la longitud debe estar entre {min} y {max}
+org.hibernate.validator.constraints.CodePointLength.message = la longitud debe estar entre {min} y {max}
+org.hibernate.validator.constraints.LuhnCheck.message = el d\u00edgito de comprobaci\u00f3n para ${validatedValue} no es v\u00e1lido, ha fallado la suma de comprobaci\u00f3n de Luhn Modulo 10
+org.hibernate.validator.constraints.Mod10Check.message = el d\u00edgito de comprobaci\u00f3n para ${validatedValue} no es v\u00e1lido, ha fallado la suma de comprobaci\u00f3n de Modulo 10
+org.hibernate.validator.constraints.Mod11Check.message = el d\u00edgito de comprobaci\u00f3n para ${validatedValue} no es v\u00e1lido, ha fallado la suma de comprobaci\u00f3n de Modulo 11
+org.hibernate.validator.constraints.ParametersScriptAssert.message = la expresi\u00f3n de script "{script}" no se ha evaluado en verdadera
+org.hibernate.validator.constraints.Range.message = debe estar entre {min} y {max}
+org.hibernate.validator.constraints.ScriptAssert.message = la expresi\u00f3n de script "{script}" no se ha evaluado en verdadera
+org.hibernate.validator.constraints.UniqueElements.message = solo debe contener elementos exclusivos
+org.hibernate.validator.constraints.URL.message = debe ser un URL v\u00e1lido
+org.hibernate.validator.constraints.UUID.message = debe ser un UUID v\u00e1lido
+
+org.hibernate.validator.constraints.br.CNPJ.message = n\u00famero de registro de contribuyente corporativo de Brasil no v\u00e1lido (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = n\u00famero de registro de contribuyente individual de Brasil no v\u00e1lido (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = n\u00famero de tarjeta de ID de votante de Brasil no v\u00e1lido
+
+org.hibernate.validator.constraints.pl.REGON.message = n\u00famero de Identificaci\u00f3n de Contribuyente de Polonia no v\u00e1lido (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = n\u00famero de Identificaci\u00f3n de VAT no v\u00e1lido (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = n\u00famero de Identificaci\u00f3n Nacional de Polonia no v\u00e1lido (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = n\u00famero de Identificaci\u00f3n de Contribuyente de Rusia no v\u00e1lido (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = debe tener una longitud menor que ${inclusive == true ? ' o igual a' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = debe tener una longitud mayor que ${inclusive == true ? ' o igual a' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fa.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fa.properties
new file mode 100644
index 00000000000..94d8ced1b5f
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fa.properties
@@ -0,0 +1,38 @@
+jakarta.validation.constraints.AssertFalse.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0627\u06CC\u062F false \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.AssertTrue.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0627\u06CC\u062F true \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.DecimalMax.message = \u0628\u0627\u06CC\u062F \u06A9\u0648\u0686\u06A9\u062A\u0631 ${inclusive == true ? '\u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC ' : '\u0627\u0632 '}{value} \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.DecimalMin.message = \u0628\u0627\u06CC\u062F \u0628\u0632\u0631\u06AF\u062A\u0631 ${inclusive == true ? '\u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC ' : '\u0627\u0632 '}{value} \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Digits.message = \u0639\u062F\u062F \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F (\u0628\u0627\u06CC\u062F {integer} \u0631\u0642\u0645 \u0635\u062D\u06CC\u062D \u0648 {fraction} \u0631\u0642\u0645 \u0627\u0639\u0634\u0627\u0631 \u0628\u0627\u0634\u062F)
+jakarta.validation.constraints.Email.message = \u0627\u06CC\u0645\u06CC\u0644 \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Future.message = \u0628\u0627\u06CC\u062F \u062F\u0631 \u0622\u06CC\u0646\u062F\u0647 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.FutureOrPresent.message = \u0628\u0627\u06CC\u062F \u062F\u0631 \u0622\u06CC\u0646\u062F\u0647 \u0648 \u06CC\u0627 \u062D\u0627\u0644 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Max.message = \u0628\u0627\u06CC\u062F \u06A9\u0648\u0686\u06A9\u062A\u0631 \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC {value} \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Min.message = \u0628\u0627\u06CC\u062F \u0628\u0632\u0631\u06AF\u062A\u0631 \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC {value} \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Negative.message = \u0628\u0627\u06CC\u062F \u06A9\u0648\u0686\u06A9\u062A\u0631 \u0627\u0632 \u0635\u0641\u0631 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.NegativeOrZero.message = \u0628\u0627\u06CC\u062F \u06A9\u0648\u0686\u06A9\u062A\u0631 \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC \u0635\u0641\u0631 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.NotBlank.message = \u0645\u0642\u062F\u0627\u0631 \u0646\u0628\u0627\u06CC\u062F \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.NotEmpty.message = \u0645\u0642\u062F\u0627\u0631 \u0646\u0628\u0627\u06CC\u062F \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.NotNull.message = \u0645\u0642\u062F\u0627\u0631 \u0646\u0628\u0627\u06CC\u062F \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Null.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0627\u06CC\u062F \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Past.message = \u0628\u0627\u06CC\u062F \u062F\u0631 \u06AF\u0630\u0634\u062A\u0647 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.PastOrPresent.message = \u0628\u0627\u06CC\u062F \u062F\u0631 \u06AF\u0630\u0634\u062A\u0647 \u0648 \u06CC\u0627 \u062D\u0627\u0644 \u0628\u0627\u0634\u062F \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Pattern.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC "{regexp}" \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0631\u062F
+jakarta.validation.constraints.Positive.message = \u0628\u0627\u06CC\u062F \u0628\u0632\u0631\u06AF\u062A\u0631 \u0627\u0632 \u0635\u0641\u0631 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.PositiveOrZero.message = \u0628\u0627\u06CC\u062F \u0628\u0632\u0631\u06AF\u062A\u0631 \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC \u0635\u0641\u0631 \u0628\u0627\u0634\u062F
+jakarta.validation.constraints.Size.message = \u0633\u0627\u06CC\u0632 \u0628\u0627\u06CC\u062F \u0628\u06CC\u0646 {min} \u0648 {max} \u0628\u0627\u0634\u062F
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.Currency.message = \u0648\u0627\u062D\u062F \u067E\u0648\u0644 \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F (\u0628\u0627\u06CC\u062F \u06CC\u06A9\u06CC \u0627\u0632 {value} \u0628\u0627\u0634\u062F)
+org.hibernate.validator.constraints.EAN.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0631\u0627\u06CC \u0628\u0627\u0631\u06A9\u062F {type} \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.Length.message = \u0637\u0648\u0644 \u0628\u0627\u06CC\u062F \u0628\u06CC\u0646 {min} \u0648 {max} \u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.CodePointLength.message = \u0637\u0648\u0644 \u0628\u0627\u06CC\u062F \u0628\u06CC\u0646 {min} \u0648 {max} \u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.LuhnCheck.message = \u0645\u0642\u062F\u0627\u0631 ${validatedValue} \u0628\u0627 Luhn Modulo 10 \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0631\u062F
+org.hibernate.validator.constraints.Mod10Check.message = \u0645\u0642\u062F\u0627\u0631 ${validatedValue} \u0628\u0627 Modulo 10 \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0631\u062F
+org.hibernate.validator.constraints.Mod11Check.message = \u0645\u0642\u062F\u0627\u0631 ${validatedValue} \u0628\u0627 Modulo 11 \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0631\u062F
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A "{script}" \u0645\u0642\u062F\u0627\u0631 \u062F\u0631\u0633\u062A \u0628\u0631\u0646\u0645\u06CC\u06AF\u0631\u062F\u0627\u0646\u062F
+org.hibernate.validator.constraints.Range.message = \u0645\u0642\u062F\u0627\u0631 \u0628\u0627\u06CC\u062F \u0628\u06CC\u0646 {min} \u0648 {max} \u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.ScriptAssert.message = \u0627\u0633\u06A9\u0631\u06CC\u067E\u062A "{script}" \u0645\u0642\u062F\u0627\u0631 \u062F\u0631\u0633\u062A \u0628\u0631\u0646\u0645\u06CC\u06AF\u0631\u062F\u0627\u0646\u062F
+org.hibernate.validator.constraints.URL.message = \u0645\u0642\u062F\u0627\u0631 URL \u062F\u0631\u0633\u062A \u0646\u0645\u06CC\u0628\u0627\u0634\u062F
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u0628\u0627\u06CC\u062F \u06A9\u0645\u062A\u0631${inclusive == true ? ' \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC' : ' \u0627\u0632'}${days == 0 ? '' : ' ' += days += ' \u0631\u0648\u0632'}${hours == 0 ? '' : ' ' += hours += ' \u0633\u0627\u0639\u062A'}${minutes == 0 ? '' : ' ' += minutes += ' \u062F\u0642\u06CC\u0642\u0647'}${seconds == 0 ? '' : ' ' += seconds += ' \u062B\u0627\u0646\u06CC\u0647'}${millis == 0 ? '' : ' ' += millis += ' \u0645\u06CC\u0644\u06CC \u062B\u0627\u0646\u06CC\u0647'}${nanos == 0 ? '' : ' ' += nanos += ' \u0646\u0627\u0646\u0648 \u062B\u0627\u0646\u06CC\u0647'} \u0628\u0627\u0634\u062F
+org.hibernate.validator.constraints.time.DurationMin.message = \u0628\u0627\u06CC\u062F \u0628\u06CC\u0634\u062A\u0631${inclusive == true ? ' \u0648 \u06CC\u0627 \u0645\u0633\u0627\u0648\u06CC' : ' \u0627\u0632'}${days == 0 ? '' : ' ' += days += ' \u0631\u0648\u0632'}${hours == 0 ? '' : ' ' += hours += ' \u0633\u0627\u0639\u062A'}${minutes == 0 ? '' : ' ' += minutes += ' \u062F\u0642\u06CC\u0642\u0647'}${seconds == 0 ? '' : ' ' += seconds += ' \u062B\u0627\u0646\u06CC\u0647'}${millis == 0 ? '' : ' ' += millis += ' \u0645\u06CC\u0644\u06CC \u062B\u0627\u0646\u06CC\u0647'}${nanos == 0 ? '' : ' ' += nanos += ' \u0646\u0627\u0646\u0648 \u062B\u0627\u0646\u06CC\u0647'} \u0628\u0627\u0634\u062F
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fr.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fr.properties
new file mode 100644
index 00000000000..4a913f3d91b
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_fr.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = doit avoir la valeur faux
+jakarta.validation.constraints.AssertTrue.message = doit avoir la valeur vrai
+jakarta.validation.constraints.DecimalMax.message = doit \u00eatre inf\u00e9rieur${inclusive == true ? ' ou \u00e9gal' : ''} \u00e0 {value}
+jakarta.validation.constraints.DecimalMin.message = doit \u00eatre sup\u00e9rieur${inclusive == true ? ' ou \u00e9gal' : ''} \u00e0 {value}
+jakarta.validation.constraints.Digits.message = valeur num\u00e9rique hors limites (<{integer} chiffres>.<{fraction} chiffres> attendu)
+jakarta.validation.constraints.Email.message = doit \u00eatre une adresse \u00e9lectronique syntaxiquement correcte
+jakarta.validation.constraints.Future.message = doit \u00eatre une date dans le futur
+jakarta.validation.constraints.FutureOrPresent.message = doit \u00eatre une date dans le pr\u00e9sent ou le futur
+jakarta.validation.constraints.Max.message = doit \u00eatre inf\u00e9rieur ou \u00e9gal \u00e0 {value}
+jakarta.validation.constraints.Min.message = doit \u00eatre sup\u00e9rieur ou \u00e9gal \u00e0 {value}
+jakarta.validation.constraints.Negative.message = doit \u00eatre inf\u00e9rieur \u00e0 0
+jakarta.validation.constraints.NegativeOrZero.message = doit \u00eatre inf\u00e9rieur ou \u00e9gal \u00e0 0
+jakarta.validation.constraints.NotBlank.message = ne doit pas \u00eatre vide
+jakarta.validation.constraints.NotEmpty.message = ne doit pas \u00eatre vide
+jakarta.validation.constraints.NotNull.message = ne doit pas \u00eatre nul
+jakarta.validation.constraints.Null.message = doit \u00EAtre nul
+jakarta.validation.constraints.Past.message = doit \u00eatre une date dans le pass\u00e9
+jakarta.validation.constraints.PastOrPresent.message = doit \u00eatre une date dans le pass\u00e9 ou le pr\u00e9sent
+jakarta.validation.constraints.Pattern.message = doit correspondre \u00e0 "{regexp}"
+jakarta.validation.constraints.Positive.message = doit \u00eatre sup\u00e9rieur \u00e0 0
+jakarta.validation.constraints.PositiveOrZero.message = doit \u00eatre sup\u00e9rieur ou \u00e9gal \u00e0 0
+jakarta.validation.constraints.Size.message = la taille doit \u00eatre comprise entre {min} et {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = num\u00e9ro de carte de cr\u00e9dit non valide
+org.hibernate.validator.constraints.Currency.message = devise non valide (il doit s'agir de l'une des valeurs suivantes : {value})
+org.hibernate.validator.constraints.EAN.message = code-barres {type} non valide
+org.hibernate.validator.constraints.ISBN.message = ISBN non valide
+org.hibernate.validator.constraints.Length.message = la longueur doit \u00eatre comprise entre {min} et {max}
+org.hibernate.validator.constraints.CodePointLength.message = la longueur doit \u00eatre comprise entre {min} et {max}
+org.hibernate.validator.constraints.LuhnCheck.message = la cl\u00e9 de contr\u00f4le pour ${validatedValue} n'est pas valide ; la somme de contr\u00f4le de l'algorithme de Luhn (modulo 10) a \u00e9chou\u00e9
+org.hibernate.validator.constraints.Mod10Check.message = la cl\u00e9 de contr\u00f4le pour ${validatedValue} n'est pas valide ; la somme de contr\u00f4le de l'algorithme modulo 10 a \u00e9chou\u00e9
+org.hibernate.validator.constraints.Mod11Check.message = la cl\u00e9 de contr\u00f4le pour ${validatedValue} n'est pas valide ; la somme de contr\u00f4le de l'algorithme modulo 11 a \u00e9chou\u00e9
+org.hibernate.validator.constraints.ParametersScriptAssert.message = le script "{script}" n'a pas \u00E9t\u00E9 \u00E9valu\u00E9 \u00E0 vrai
+org.hibernate.validator.constraints.Range.message = doit \u00eatre compris entre {min} et {max}
+org.hibernate.validator.constraints.ScriptAssert.message = le script "{script}" n'a pas \u00E9t\u00E9 \u00E9valu\u00E9 \u00E0 vrai
+org.hibernate.validator.constraints.UniqueElements.message = ne doit contenir que des \u00e9l\u00e9ments uniques
+org.hibernate.validator.constraints.URL.message = doit \u00eatre une URL valide
+org.hibernate.validator.constraints.UUID.message = doit \u00eatre une UUID valide
+
+org.hibernate.validator.constraints.br.CNPJ.message = num\u00e9ro de registre d'entreprise contribuable br\u00e9silien non valide (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = num\u00e9ro de registre de contribuable individuel br\u00e9silien non valide (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = num\u00e9ro de carte d'\u00e9lecteur br\u00e9silien non valide
+
+org.hibernate.validator.constraints.pl.REGON.message = num\u00e9ro d'identification de contribuable polonais non valide (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = num\u00e9ro de TVA non valide (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = num\u00e9ro de carte d'identit\u00e9 nationale polonais non valide (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = num\u00e9ro d'identification de contribuable russe non valide (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = doit \u00eatre plus court ${inclusive == true ? 'ou \u00e9gal \u00e0' : 'que'}${days == 0 ? '' : days == 1 ? ' 1 jour' : ' ' += days += ' jours'}${hours == 0 ? '' : hours == 1 ? ' 1 heure' : ' ' += hours += ' heures'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 seconde' : ' ' += seconds += ' secondes'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = doit \u00eatre plus long ${inclusive == true ? 'ou \u00e9gal \u00e0' : 'que'}${days == 0 ? '' : days == 1 ? ' 1 jour' : ' ' += days += ' jours'}${hours == 0 ? '' : hours == 1 ? ' 1 heure' : ' ' += hours += ' heures'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 seconde' : ' ' += seconds += ' secondes'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_hu.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_hu.properties
new file mode 100644
index 00000000000..35a8442fd58
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_hu.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = hamis \u00e9rt\u00e9k\u0171nek kell lennie
+jakarta.validation.constraints.AssertTrue.message = igaz \u00e9rt\u00e9k\u0171nek kell lennie
+jakarta.validation.constraints.DecimalMax.message = kisebbnek ${inclusive == true ? 'or equal to ' : ''} kell lennie, mint {value}
+jakarta.validation.constraints.DecimalMin.message = nagyobbnak ${inclusive == true ? 'or equal to ' : ''} kell lennie, mint {value}
+jakarta.validation.constraints.Digits.message = a numerikus \u00e9rt\u00e9k a korl\u00e1tokon k\u00edv\u00fcl esik (<{integer} sz\u00e1mjegy>.<{fraction} sz\u00e1mjegy> sz\u00e1mot v\u00e1rt a rendszer)
+jakarta.validation.constraints.Email.message = helyes form\u00e1tum\u00fa e-mail c\u00edmnek kell lennie
+jakarta.validation.constraints.Future.message = j\u00f6v\u0151beli d\u00e1tumnak kell lennie
+jakarta.validation.constraints.FutureOrPresent.message = jelen vagy j\u00f6v\u0151beli d\u00e1tumnak kell lennie
+jakarta.validation.constraints.Max.message = kisebbnek, vagy egyenl\u0151nek kell lennie, mint {value}
+jakarta.validation.constraints.Min.message = nagyobbnak, vagy egyenl\u0151nek kell lennie, mint {value}
+jakarta.validation.constraints.Negative.message = kisebbnek kell lennie, mint 0
+jakarta.validation.constraints.NegativeOrZero.message = kisebbnek, vagy egyenl\u0151nek kell lennie, mint 0
+jakarta.validation.constraints.NotBlank.message = nem lehet \u00fcres
+jakarta.validation.constraints.NotEmpty.message = nem lehet \u00fcres
+jakarta.validation.constraints.NotNull.message = nem lehet null
+jakarta.validation.constraints.Null.message = null\u00e9rt\u00e9k\u0171nek kell lennie
+jakarta.validation.constraints.Past.message = m\u00faltbeli d\u00e1tumnak kell lennie
+jakarta.validation.constraints.PastOrPresent.message = m\u00faltbeli vagy jelen d\u00e1tumnak kell lennie
+jakarta.validation.constraints.Pattern.message = meg kell felelnie a(z) "{regexp}" kifejez\u00e9snek
+jakarta.validation.constraints.Positive.message = nagyobbnak kell lennie, mint 0
+jakarta.validation.constraints.PositiveOrZero.message = nagyobbnak vagy egyenl\u0151nek kell lennie, mint 0
+jakarta.validation.constraints.Size.message = a m\u00e9retnek a(z) {min} \u00e9s {max} \u00e9rt\u00e9kek k\u00f6z\u00f6tt kell lennie
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u00e9rv\u00e9nytelen hitelk\u00e1rtyasz\u00e1m
+org.hibernate.validator.constraints.Currency.message = \u00e9rv\u00e9nytelen p\u00e9nznem (a k\u00f6vetkez\u0151k egyike lehet: {value})
+org.hibernate.validator.constraints.EAN.message = \u00e9rv\u00e9nytelen {type} vonalk\u00f3d
+org.hibernate.validator.constraints.ISBN.message = \u00e9rv\u00e9nytelen ISBN
+org.hibernate.validator.constraints.Length.message = a hossznak a(z) {min} \u00e9s {max} \u00e9rt\u00e9kek k\u00f6z\u00f6tt kell lennie
+org.hibernate.validator.constraints.CodePointLength.message = a hossznak a(z) {min} \u00e9s {max} \u00e9rt\u00e9kek k\u00f6z\u00f6tt kell lennie
+org.hibernate.validator.constraints.LuhnCheck.message = a(z) ${validatedValue} ellen\u0151rz\u0151 sz\u00e1mjegye \u00e9rv\u00e9nytelen, a Luhn Modulo 10 ellen\u0151rz\u0151\u00f6sszeg meghi\u00fasult
+org.hibernate.validator.constraints.Mod10Check.message = a(z) ${validatedValue} ellen\u0151rz\u0151 sz\u00e1mjegye \u00e9rv\u00e9nytelen, a Modulo 10 ellen\u0151rz\u0151\u00f6sszeg meghi\u00fasult
+org.hibernate.validator.constraints.Mod11Check.message = a(z) ${validatedValue} ellen\u0151rz\u0151 sz\u00e1mjegye \u00e9rv\u00e9nytelen, a Modulo 11 ellen\u0151rz\u0151\u00f6sszeg meghi\u00fasult
+org.hibernate.validator.constraints.ParametersScriptAssert.message = a(z) "{script}" parancsf\u00e1jl kifejez\u00e9s nem true \u00e9rt\u00e9kre \u00e9rt\u00e9kel\u0151d\u00f6tt ki
+org.hibernate.validator.constraints.Range.message = a(z) {min} \u00e9s {max} \u00e9rt\u00e9kek k\u00f6z\u00f6tt kell lennie
+org.hibernate.validator.constraints.ScriptAssert.message = a(z) "{script}" parancsf\u00e1jl kifejez\u00e9s nem true \u00e9rt\u00e9kre \u00e9rt\u00e9kel\u0151d\u00f6tt ki
+org.hibernate.validator.constraints.UniqueElements.message = csak egyedi elemeket tartalmazhat
+org.hibernate.validator.constraints.URL.message = egy \u00e9rv\u00e9nyes URL c\u00edmnek kell lennie
+org.hibernate.validator.constraints.UUID.message = egy \u00e9rv\u00e9nyes UUID c\u00edmnek kell lennie
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u00e9rv\u00e9nytelen brazil v\u00e1llalati ad\u00f3nyilv\u00e1ntart\u00e1si sz\u00e1m (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = \u00e9rv\u00e9nytelen brazil egy\u00e9ni ad\u00f3nyilv\u00e1ntart\u00e1si sz\u00e1m (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u00e9rv\u00e9nytelen brazil szavaz\u00f3azonos\u00edt\u00f3 k\u00e1rtyasz\u00e1m
+
+org.hibernate.validator.constraints.pl.REGON.message = \u00e9rv\u00e9nytelen lengyel ad\u00f3z\u00f3i azonos\u00edt\u00f3 sz\u00e1m (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = \u00e9rv\u00e9nytelen \u00c1FA azonos\u00edt\u00f3sz\u00e1m (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = \u00e9rv\u00e9nytelen lengyel nemzeti azonos\u00edt\u00f3sz\u00e1m (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = \u00e9rv\u00e9nytelen orosz ad\u00f3z\u00f3i azonos\u00edt\u00f3 sz\u00e1m (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = r\u00f6videbbnek kell lennie, mint ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = hosszabbnak kell lennie, mint ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_it.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_it.properties
new file mode 100644
index 00000000000..c19464e7c91
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_it.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = deve essere false
+jakarta.validation.constraints.AssertTrue.message = deve essere true
+jakarta.validation.constraints.DecimalMax.message = deve essere inferiore a ${inclusive == true ? 'o uguale a ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = deve essere superiore a ${inclusive == true ? 'o uguale a ' : ''}{value}
+jakarta.validation.constraints.Digits.message = valore numerico fuori dai limiti (previsto <{integer} digits>.<{fraction} digits>)
+jakarta.validation.constraints.Email.message = deve essere un indirizzo email nel formato corretto
+jakarta.validation.constraints.Future.message = deve essere una data nel futuro
+jakarta.validation.constraints.FutureOrPresent.message = deve essere una data nel presente o nel futuro
+jakarta.validation.constraints.Max.message = deve essere inferiore o uguale a {value}
+jakarta.validation.constraints.Min.message = deve essere superiore o uguale a {value}
+jakarta.validation.constraints.Negative.message = deve essere inferiore a 0
+jakarta.validation.constraints.NegativeOrZero.message = deve essere inferiore o uguale a 0
+jakarta.validation.constraints.NotBlank.message = non deve essere spazio
+jakarta.validation.constraints.NotEmpty.message = non deve essere vuoto
+jakarta.validation.constraints.NotNull.message = non deve essere null
+jakarta.validation.constraints.Null.message = deve essere null
+jakarta.validation.constraints.Past.message = deve essere una data nel passato
+jakarta.validation.constraints.PastOrPresent.message = deve essere una data nel passato o nel presente
+jakarta.validation.constraints.Pattern.message = deve corrispondere a "{regexp}"
+jakarta.validation.constraints.Positive.message = deve essere superiore a 0
+jakarta.validation.constraints.PositiveOrZero.message = deve essere superiore o uguale a 0
+jakarta.validation.constraints.Size.message = la dimensione deve essere compresa tra {min} e {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = numero carta di credito non valido
+org.hibernate.validator.constraints.Currency.message = valuta non valida (deve essere una di {value})
+org.hibernate.validator.constraints.EAN.message = codicie a barre {type} non valido
+org.hibernate.validator.constraints.ISBN.message = ISBN non valido
+org.hibernate.validator.constraints.Length.message = la lunghezza deve essere compresa tra {min} e {max}
+org.hibernate.validator.constraints.CodePointLength.message = la lunghezza deve essere compresa tra {min} e {max}
+org.hibernate.validator.constraints.LuhnCheck.message = la cifra di controllo per ${validatedValue} non \u00e8 valida, checksum Luhn Modulo 10 non riuscito
+org.hibernate.validator.constraints.Mod10Check.message = la cifra di controllo per ${validatedValue} non \u00e8 valida, checksum Modulo 10 non riuscito
+org.hibernate.validator.constraints.Mod11Check.message = la cifra di controllo per ${validatedValue} non \u00e8 valida, checksum Modulo 11 non riuscito
+org.hibernate.validator.constraints.ParametersScriptAssert.message = espressione script "{script}" non valutata true
+org.hibernate.validator.constraints.Range.message = deve essere compresa tra {min} e {max}
+org.hibernate.validator.constraints.ScriptAssert.message = espressione script "{script}" non valutata true
+org.hibernate.validator.constraints.UniqueElements.message = deve contenere solo elementi univoci
+org.hibernate.validator.constraints.URL.message = deve essere un URL valido
+org.hibernate.validator.constraints.UUID.message = deve essere un UUID valido
+
+org.hibernate.validator.constraints.br.CNPJ.message = numero registro contribuente aziendale (CNPJ) brasiliano non valido
+org.hibernate.validator.constraints.br.CPF.message = numero registro contribuente individuale (CPF) brasiliano non valido
+org.hibernate.validator.constraints.br.TituloEleitoral.message = numero scheda ID votante brasiliano non valido
+
+org.hibernate.validator.constraints.pl.REGON.message = numero identificativo contribuente polacco (REGON) non valido
+org.hibernate.validator.constraints.pl.NIP.message = numero identificativo IVA (NIP) non valido
+org.hibernate.validator.constraints.pl.PESEL.message = numero identificativo nazionale polacco (PESEL) non valido
+
+org.hibernate.validator.constraints.ru.INN.message = numero identificativo contribuente russo (INN) non valido
+
+org.hibernate.validator.constraints.time.DurationMax.message = deve essere inferiore a ${inclusive == true ? ' o uguale a' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = deve essere superiore a ${inclusive == true ? ' o uguale a' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ja.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ja.properties
new file mode 100644
index 00000000000..e542aa631e5
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ja.properties
@@ -0,0 +1,48 @@
+jakarta.validation.constraints.AssertFalse.message = false \u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.AssertTrue.message = true \u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.DecimalMax.message = {value} ${inclusive == true ? '\u4ee5\u4e0b\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044' : '\u3088\u308a\u5c0f\u3055\u306a\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044'}
+jakarta.validation.constraints.DecimalMin.message = {value} ${inclusive == true ? '\u4ee5\u4e0a\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044' : '\u3088\u308a\u5927\u304d\u306a\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044'}
+jakarta.validation.constraints.Digits.message = \u5024\u306f\u6b21\u306e\u7bc4\u56f2\u306b\u3057\u3066\u304f\u3060\u3055\u3044 (<\u6574\u6570 {integer} \u6841>.<\u5c0f\u6570\u70b9\u4ee5\u4e0b {fraction} \u6841>)
+jakarta.validation.constraints.Email.message = \u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u6b63\u3057\u3044\u5f62\u5f0f\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Future.message = \u672a\u6765\u306e\u65e5\u4ed8\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.FutureOrPresent.message = \u73fe\u5728\u3082\u3057\u304f\u306f\u672a\u6765\u306e\u65e5\u4ed8\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Max.message = {value} \u4ee5\u4e0b\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Min.message = {value} \u4ee5\u4e0a\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Negative.message = 0 \u3088\u308a\u5c0f\u3055\u306a\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.NegativeOrZero.message = 0 \u4ee5\u4e0b\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.NotBlank.message = \u7a7a\u767d\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+jakarta.validation.constraints.NotEmpty.message = \u7a7a\u8981\u7d20\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+jakarta.validation.constraints.NotNull.message = null \u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+jakarta.validation.constraints.Null.message = null \u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Past.message = \u904e\u53bb\u306e\u65e5\u4ed8\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.PastOrPresent.message = \u73fe\u5728\u3082\u3057\u304f\u306f\u904e\u53bb\u306e\u65e5\u4ed8\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Pattern.message = \u6b63\u898f\u8868\u73fe "{regexp}" \u306b\u30de\u30c3\u30c1\u3055\u305b\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Positive.message = 0 \u3088\u308a\u5927\u304d\u306a\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.PositiveOrZero.message = 0 \u4ee5\u4e0a\u306e\u5024\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+jakarta.validation.constraints.Size.message = {min} \u304b\u3089 {max} \u306e\u9593\u306e\u30b5\u30a4\u30ba\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u6b63\u3057\u304f\u306a\u3044\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u306e\u756a\u53f7\u3067\u3059
+org.hibernate.validator.constraints.Currency.message = \u6b63\u3057\u304f\u306a\u3044\u901a\u8ca8\u5358\u4f4d\u3067\u3059 ({value} \u306e\u4e2d\u304b\u3089\u9078\u3093\u3067\u304f\u3060\u3055\u3044)
+org.hibernate.validator.constraints.EAN.message = \u6b63\u3057\u304f\u306a\u3044 {type} \u30d0\u30fc\u30b3\u30fc\u30c9\u3067\u3059
+org.hibernate.validator.constraints.ISBN.message = \u6b63\u3057\u304f\u306a\u3044 ISBN \u3067\u3059
+org.hibernate.validator.constraints.Length.message = {min} \u304b\u3089 {max} \u306e\u9593\u306e\u9577\u3055\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+org.hibernate.validator.constraints.CodePointLength.message = {min} \u304b\u3089 {max} \u306e\u9593\u306e\u9577\u3055\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+org.hibernate.validator.constraints.LuhnCheck.message = ${validatedValue} \u306e\u30c1\u30a7\u30c3\u30af\u30c7\u30b8\u30c3\u30c8\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 (Luhn \u30e2\u30c7\u30e5\u30e9\u30b910\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0)
+org.hibernate.validator.constraints.Mod10Check.message = ${validatedValue} \u306e\u30c1\u30a7\u30c3\u30af\u30c7\u30b8\u30c3\u30c8\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 (\u30e2\u30c7\u30e5\u30e9\u30b910)
+org.hibernate.validator.constraints.Mod11Check.message = ${validatedValue} \u306e\u30c1\u30a7\u30c3\u30af\u30c7\u30b8\u30c3\u30c8\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 (\u30e2\u30c7\u30e5\u30e9\u30b911)
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u5f0f "{script}" \u306b\u3088\u308b\u8a55\u4fa1\u7d50\u679c\u304c true \u306b\u306a\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+org.hibernate.validator.constraints.Range.message = {min} \u304b\u3089 {max} \u306e\u9593\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+org.hibernate.validator.constraints.ScriptAssert.message = \u6b21\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u5f0f "{script}" \u306b\u3088\u308b\u8a55\u4fa1\u7d50\u679c\u304c true \u306b\u306a\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+org.hibernate.validator.constraints.UniqueElements.message = \u8981\u7d20\u306f\u5168\u3066\u30e6\u30cb\u30fc\u30af\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+org.hibernate.validator.constraints.URL.message = URL \u3068\u3057\u3066\u6b63\u3057\u3044\u5f62\u5f0f\u306b\u3057\u3066\u304f\u3060\u3055\u3044
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u6b63\u3057\u304f\u306a\u3044\u30d6\u30e9\u30b8\u30eb\u6cd5\u4eba\u7528\u7a0e\u52d9\u767b\u8a18\u756a\u53f7 (CNPJ) \u3067\u3059
+org.hibernate.validator.constraints.br.CPF.message = \u6b63\u3057\u304f\u306a\u3044\u30d6\u30e9\u30b8\u30eb\u500b\u4eba\u7528\u7d0d\u7a0e\u8005\u756a\u53f7 (CPF) \u3067\u3059
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u6b63\u3057\u304f\u306a\u3044\u30d6\u30e9\u30b8\u30eb\u6295\u7968\u8005ID\u30ab\u30fc\u30c9\u756a\u53f7\u3067\u3059
+
+org.hibernate.validator.constraints.pl.REGON.message = \u6b63\u3057\u304f\u306a\u3044\u30dd\u30fc\u30e9\u30f3\u30c9\u56fd\u5185\u7d4c\u6e08\u767b\u9332\u756a\u53f7 (REGON) \u3067\u3059
+org.hibernate.validator.constraints.pl.NIP.message = \u6b63\u3057\u304f\u306a\u3044\u30dd\u30fc\u30e9\u30f3\u30c9\u7d0d\u7a0e\u8005\u756a\u53f7 (NIP) \u3067\u3059
+org.hibernate.validator.constraints.pl.PESEL.message = \u6b63\u3057\u304f\u306a\u3044\u30dd\u30fc\u30e9\u30f3\u30c9\u500b\u4ebaID\u756a\u53f7 (PESEL) \u3067\u3059
+
+org.hibernate.validator.constraints.time.DurationMax.message = ${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'} ${inclusive == true ? '\u3068\u540c\u3058\u304b\u3088\u308a\u77ed\u3044\u6642\u9593\u306b\u3057\u3066\u304f\u3060\u3055\u3044' : '\u3088\u308a\u77ed\u3044\u6642\u9593\u306b\u3057\u3066\u304f\u3060\u3055\u3044'}
+org.hibernate.validator.constraints.time.DurationMin.message = ${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'} ${inclusive == true ? '\u3068\u540c\u3058\u304b\u3088\u308a\u9577\u3044\u6642\u9593\u306b\u3057\u3066\u304f\u3060\u3055\u3044' : '\u3088\u308a\u9577\u3044\u6642\u9593\u306b\u3057\u3066\u304f\u3060\u3055\u3044'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ko.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ko.properties
new file mode 100644
index 00000000000..d74b1c747fb
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ko.properties
@@ -0,0 +1,48 @@
+jakarta.validation.constraints.AssertFalse.message = false\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.AssertTrue.message = true\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.DecimalMax.message = \ub2e4\uc74c \uac12 \uc774\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4${inclusive == true ? ' ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \ub2e4\uc74c \uac12 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4${inclusive == true ? ' ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \uc22b\uc790 \uac12\uc774 \ud55c\uacc4\ub97c \ucd08\uacfc\ud569\ub2c8\ub2e4(<{integer} \uc790\ub9ac>.<{fraction} \uc790\ub9ac> \uc608\uc0c1)
+jakarta.validation.constraints.Email.message = \uc62c\ubc14\ub978 \ud615\uc2dd\uc758 \uc774\uba54\uc77c \uc8fc\uc18c\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Future.message = \ubbf8\ub798 \ub0a0\uc9dc\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.FutureOrPresent.message = \ud604\uc7ac \ub610\ub294 \ubbf8\ub798\uc758 \ub0a0\uc9dc\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Max.message = {value} \uc774\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Min.message = {value} \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Negative.message = 0 \ubbf8\ub9cc\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.NegativeOrZero.message = 0 \uc774\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.NotBlank.message = \uacf5\ubc31\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4
+jakarta.validation.constraints.NotEmpty.message = \ube44\uc5b4 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4
+jakarta.validation.constraints.NotNull.message = \ub110\uc774\uc5b4\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4
+jakarta.validation.constraints.Null.message = \ub110\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Past.message = \uacfc\uac70 \ub0a0\uc9dc\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.PastOrPresent.message = \uacfc\uac70 \ub610\ub294 \ud604\uc7ac\uc758 \ub0a0\uc9dc\uc5ec\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Pattern.message = "{regexp}"\uc640 \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Positive.message = 0\ubcf4\ub2e4 \ucee4\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.PositiveOrZero.message = 0 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4
+jakarta.validation.constraints.Size.message = \ud06c\uae30\uac00 {min}\uc5d0\uc11c {max} \uc0ac\uc774\uc5ec\uc57c \ud569\ub2c8\ub2e4
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.Currency.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ud1b5\ud654\uc785\ub2c8\ub2e4({value} \uc911 \ud558\ub098\uc5ec\uc57c \ud568)
+org.hibernate.validator.constraints.EAN.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 {type} \ubc14\ucf54\ub4dc\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.ISBN.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 ISBN\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.Length.message = \uae38\uc774\uac00 {min}\uc5d0\uc11c {max} \uc0ac\uc774\uc5ec\uc57c \ud569\ub2c8\ub2e4
+org.hibernate.validator.constraints.CodePointLength.message = \uae38\uc774\uac00 {min}\uc5d0\uc11c {max} \uc0ac\uc774\uc5ec\uc57c \ud569\ub2c8\ub2e4
+org.hibernate.validator.constraints.LuhnCheck.message = ${validatedValue}\uc758 \uccb4\ud06c \ub514\uc9c0\ud2b8\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Luhn Modulo 10 \uccb4\ud06c\uc12c\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4
+org.hibernate.validator.constraints.Mod10Check.message = ${validatedValue}\uc758 \uccb4\ud06c \ub514\uc9c0\ud2b8\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Modulo 10 \uccb4\ud06c\uc12c\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4
+org.hibernate.validator.constraints.Mod11Check.message = ${validatedValue}\uc758 \uccb4\ud06c \ub514\uc9c0\ud2b8\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Modulo 11 \uccb4\ud06c\uc12c\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \uc2a4\ud06c\ub9bd\ud2b8 \ud45c\ud604\uc2dd "{script}"\uac00 true\ub85c \ud3c9\uac00\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4
+org.hibernate.validator.constraints.Range.message = {min}\uc5d0\uc11c {max} \uc0ac\uc774\uc5ec\uc57c \ud569\ub2c8\ub2e4
+org.hibernate.validator.constraints.ScriptAssert.message = \uc2a4\ud06c\ub9bd\ud2b8 \ud45c\ud604\uc2dd "{script}"\uac00 true\ub85c \ud3c9\uac00\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4
+org.hibernate.validator.constraints.UniqueElements.message = \uace0\uc720 \uc694\uc18c\ub9cc \ud3ec\ud568\ud574\uc57c \ud569\ub2c8\ub2e4
+org.hibernate.validator.constraints.URL.message = \uc62c\ubc14\ub978 URL\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4
+
+org.hibernate.validator.constraints.br.CNPJ.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ube0c\ub77c\uc9c8 \ubc95\uc778 \ub0a9\uc138\uc790 \ub4f1\ub85d \ubc88\ud638(CNPJ)\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.br.CPF.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ube0c\ub77c\uc9c8 \uac1c\uc778 \ub0a9\uc138\uc790 \ub4f1\ub85d \ubc88\ud638(CPF)\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ube0c\ub77c\uc9c8 \uc720\uad8c\uc790 ID \uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4
+
+org.hibernate.validator.constraints.pl.REGON.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ud3f4\ub780\ub4dc \ub0a9\uc138\uc790 \uc2dd\ubcc4 \ubc88\ud638(REGON)\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.pl.NIP.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 VAT \uc2dd\ubcc4 \ubc88\ud638(NIP)\uc785\ub2c8\ub2e4
+org.hibernate.validator.constraints.pl.PESEL.message = \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ud3f4\ub780\ub4dc \uad6d\ubbfc \uc2dd\ubcc4 \ubc88\ud638(PESEL)\uc785\ub2c8\ub2e4
+
+org.hibernate.validator.constraints.time.DurationMax.message = \ub2e4\uc74c \uac12\ubcf4\ub2e4 \uc9e7\uac70\ub098 \uac19\uc544\uc57c \ud569\ub2c8\ub2e4${inclusive == true ? ' ' : ''}${days == 0 ? '' : days == 1 ? ' 1\uc77c' : ' ' += days += '\uc77c'}${hours == 0 ? '' : hours == 1 ? ' 1\uc2dc\uac04' : ' ' += hours += '\uc2dc\uac04'}${minutes == 0 ? '' : minutes == 1 ? ' 1\ubd84' : ' ' += minutes += '\ubd84'}${seconds == 0 ? '' : seconds == 1 ? ' 1\ucd08' : ' ' += seconds += '\ucd08'}${millis == 0 ? '' : millis == 1 ? ' 1\ubc00\ub9ac' : ' ' += millis += '\ubc00\ub9ac'}${nanos == 0 ? '' : nanos == 1 ? ' 1\ub098\ub178' : ' ' += nanos += '\ub098\ub178'}
+org.hibernate.validator.constraints.time.DurationMin.message = \ub2e4\uc74c \uac12\ubcf4\ub2e4 \uae38\uac70\ub098 \uac19\uc544\uc57c \ud569\ub2c8\ub2e4${inclusive == true ? ' ' : ''}${days == 0 ? '' : days == 1 ? ' 1\uc77c' : ' ' += days += '\uc77c'}${hours == 0 ? '' : hours == 1 ? ' 1\uc2dc\uac04' : ' ' += hours += '\uc2dc\uac04'}${minutes == 0 ? '' : minutes == 1 ? ' 1\ubd84' : ' ' += minutes += '\ubd84'}${seconds == 0 ? '' : seconds == 1 ? ' 1\ucd08' : ' ' += seconds += '\ucd08'}${millis == 0 ? '' : millis == 1 ? ' 1\ubc00\ub9ac' : ' ' += millis += '\ubc00\ub9ac'}${nanos == 0 ? '' : nanos == 1 ? ' 1\ub098\ub178' : ' ' += nanos += '\ub098\ub178'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_mn_MN.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_mn_MN.properties
new file mode 100644
index 00000000000..82a2e54ff08
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_mn_MN.properties
@@ -0,0 +1,20 @@
+jakarta.validation.constraints.AssertFalse.message = \u0425\u0443\u0434\u0430\u043B \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.AssertTrue.message = \u04AE\u043D\u044D\u043D \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.DecimalMax.message = {value}-\u0430\u0430\u0441 \u0431\u0430\u0433\u0430 \u0431\u0443\u044E\u0443 \u0442\u044D\u043D\u0446\u04AF\u04AF \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.DecimalMin.message = {value}-\u0430\u0430\u0441 \u0438\u0445 \u0431\u0443\u044E\u0443 \u0442\u044D\u043D\u0446\u04AF\u04AF \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Digits.message = \u0422\u043E\u043E\u043D \u0445\u044F\u0437\u0433\u0430\u0430\u0440\u0430\u0430\u0441 \u0445\u044D\u0442\u044D\u0440\u0441\u044D\u043D \u0431\u0430\u0439\u043D\u0430 (<{integer} digits>.<{fraction} digits> \u0445\u043E\u043E\u0440\u043E\u043D\u0434 \u0431\u0430\u0439\u043D\u0430)
+jakarta.validation.constraints.Email.message = \u0411\u0443\u0440\u0443\u0443 \u0438-\u043C\u044D\u0439\u043B \u0445\u0430\u044F\u0433 \u0431\u0430\u0439\u043D\u0430
+jakarta.validation.constraints.Future.message = \u0418\u0440\u044D\u044D\u0434\u04AF\u0439\u0434 \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Max.message = {value}-\u0430\u0430\u0441 \u0431\u0430\u0433\u0430 \u0431\u0443\u044E\u0443 \u0442\u044D\u043D\u0446\u04AF\u04AF \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Min.message = {value}-\u0430\u0430\u0441 \u0438\u0445 \u0431\u0443\u044E\u0443 \u0442\u044D\u043D\u0446\u04AF\u04AF \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.NotBlank.message = \u0425\u043E\u043E\u0441\u043E\u043D \u0431\u0430\u0439\u0436 \u0431\u043E\u043B\u043E\u0445\u0433\u04AF\u0439
+jakarta.validation.constraints.NotEmpty.message = \u0425\u043E\u043E\u0441\u043E\u043D \u0431\u0430\u0439\u0436 \u0431\u043E\u043B\u043E\u0445\u0433\u04AF\u0439
+jakarta.validation.constraints.NotNull.message = null \u0431\u0430\u0439\u0436 \u0431\u043E\u043B\u043E\u0445\u0433\u04AF\u0439
+jakarta.validation.constraints.Null.message = null \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Past.message = \u04E8\u043D\u0433\u04E9\u0440\u0441\u04E9\u043D\u0434 \u0431\u0430\u0439\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Pattern.message = "{regexp}"-\u0434 \u0442\u0430\u0430\u0440\u0430\u0445 \u0451\u0441\u0442\u043E\u0439
+jakarta.validation.constraints.Size.message = \u0425\u044D\u043C\u0436\u044D\u044D {min}-\u0441 {max} \u0445\u043E\u043E\u0440\u043E\u043D\u0434 \u0431\u0430\u0439\u043D\u0430
+
+org.hibernate.validator.constraints.Length.message = \u0422\u044D\u043C\u0434\u044D\u0433\u0442\u0438\u0439\u043D \u0443\u0440\u0442 {min}-\u0441 {max} \u0445\u043E\u043E\u0440\u043E\u043D\u0434 \u0431\u0430\u0439\u043D\u0430
+org.hibernate.validator.constraints.CodePointLength.message = \u0422\u044D\u043C\u0434\u044D\u0433\u0442\u0438\u0439\u043D \u0443\u0440\u0442 {min}-\u0441 {max} \u0445\u043E\u043E\u0440\u043E\u043D\u0434 \u0431\u0430\u0439\u043D\u0430
+org.hibernate.validator.constraints.Range.message = \u0423\u0442\u0433\u0430 {min}-\u0441 {max} \u0445\u043E\u043E\u0440\u043E\u043D\u0434 \u0431\u0430\u0439\u043D\u0430
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_nl.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_nl.properties
new file mode 100644
index 00000000000..c2de2799694
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_nl.properties
@@ -0,0 +1,41 @@
+jakarta.validation.constraints.AssertFalse.message = moet onwaar zijn
+jakarta.validation.constraints.AssertTrue.message = moet waar zijn
+jakarta.validation.constraints.DecimalMax.message = moet kleiner dan ${inclusive == true ? 'of gelijk aan ' : ''}{value} zijn
+jakarta.validation.constraints.DecimalMin.message = moet groter dan ${inclusive == true ? 'of gelijk aan ' : ''}{value} zijn
+jakarta.validation.constraints.Digits.message = numerieke waarde ligt buiten het toegestane bereik (<{integer} cijfers>,<{fraction} cijfers> verwacht)
+jakarta.validation.constraints.Email.message = het e-mailadres is ongeldig
+jakarta.validation.constraints.Future.message = moet in de toekomst zijn
+jakarta.validation.constraints.FutureOrPresent.message = moet in het heden of in de toekomst zijn
+jakarta.validation.constraints.Max.message = moet kleiner of gelijk aan {value} zijn
+jakarta.validation.constraints.Min.message = moet groter of gelijk aan {value} zijn
+jakarta.validation.constraints.Negative.message = moet kleiner dan 0 zijn
+jakarta.validation.constraints.NegativeOrZero.message = moet kleiner dan of gelijk aan 0 zijn
+jakarta.validation.constraints.NotBlank.message = mag niet onbeschreven zijn
+jakarta.validation.constraints.NotEmpty.message = mag niet leeg zijn
+jakarta.validation.constraints.NotNull.message = mag niet null zijn
+jakarta.validation.constraints.Null.message = moet null zijn
+jakarta.validation.constraints.Past.message = moet in het verleden zijn
+jakarta.validation.constraints.PastOrPresent.message = moet in het heden of in het verleden zijn
+jakarta.validation.constraints.Pattern.message = moet overeenkomen met "{regexp}"
+jakarta.validation.constraints.Positive.message = moet groter dan 0 zijn
+jakarta.validation.constraints.PositiveOrZero.message = moet groter of gelijk zijn aan 0
+jakarta.validation.constraints.Size.message = grootte moet tussen {min} en {max} liggen
+
+org.hibernate.validator.constraints.CreditCardNumber.message = creditcard nummer ongeldig
+org.hibernate.validator.constraints.Currency.message = ongeldige valuta (toegestane waarden: {value})
+org.hibernate.validator.constraints.EAN.message = ongeldige barcode
+org.hibernate.validator.constraints.ISBN.message = ongeldig ISBN
+org.hibernate.validator.constraints.Length.message = moet tussen {min} en {max} tekens lang zijn
+org.hibernate.validator.constraints.CodePointLength.message = moet tussen {min} en {max} tekens lang zijn
+org.hibernate.validator.constraints.LuhnCheck.message = het controlecijfer voor ${validatedValue} is ongeldig, Luhn Modulo 10 checksum mislukt
+org.hibernate.validator.constraints.Mod10Check.message = het controlecijfer voor ${validatedValue} is ongeldig, Modulo 10 checksum mislukt
+org.hibernate.validator.constraints.Mod11Check.message = het controlecijfer voor ${validatedValue} is ongeldig, Modulo 11 checksum mislukt
+org.hibernate.validator.constraints.ParametersScriptAssert.message = scriptexpressie "{script}" is ongeldig
+org.hibernate.validator.constraints.Range.message = moet tussen {min} en {max} zijn
+org.hibernate.validator.constraints.ScriptAssert.message = scriptexpressie "{script}" is ongeldig
+org.hibernate.validator.constraints.UniqueElements.message = mag geen duplicaten bevatten
+org.hibernate.validator.constraints.URL.message = moet een geldige URL zijn
+org.hibernate.validator.constraints.UUID.message = moet een geldige UUID zijn
+
+org.hibernate.validator.constraints.time.DurationMax.message = moet korter${inclusive == true ? ' of gelijk' : ' dan'}${days == 0 ? '' : days == 1 ? ' 1 dag' : ' ' += days += ' dagen'}${hours == 0 ? '' : hours == 1 ? ' 1 uur' : ' ' += hours += ' uren'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuut' : ' ' += minutes += ' Minuten'}${seconds == 0 ? '' : seconds == 1 ? ' 1 seconde' : ' ' += seconds += ' seconden'}${millis == 0 ? '' : millis == 1 ? ' 1 milliseconde' : ' ' += millis += ' milliseconden'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanoseconde' : ' ' += nanos += ' nanoseconden'} zijn
+org.hibernate.validator.constraints.time.DurationMin.message = moet langer${inclusive == true ? ' of gelijk' : ' dan'}${days == 0 ? '' : days == 1 ? ' 1 dag' : ' ' += days += ' dagen'}${hours == 0 ? '' : hours == 1 ? ' 1 uur' : ' ' += hours += ' uren'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuut' : ' ' += minutes += ' minuten'}${seconds == 0 ? '' : seconds == 1 ? ' 1 seconde' : ' ' += seconds += ' seconden'}${millis == 0 ? '' : millis == 1 ? ' 1 milliseconde' : ' ' += millis += ' milliseconden'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanoseconde' : ' ' += nanos += ' nanoseconden'} zijn
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pl.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pl.properties
new file mode 100644
index 00000000000..58b1ad7418a
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pl.properties
@@ -0,0 +1,63 @@
+jakarta.validation.constraints.AssertFalse.message = musi mie\u0107 warto\u015b\u0107 false
+jakarta.validation.constraints.AssertTrue.message = musi mie\u0107 warto\u015b\u0107 true
+jakarta.validation.constraints.DecimalMax.message = musi by\u0107 ${inclusive == true ? 'r\u00f3wne lub ' : ''}mniejsze od {value}
+jakarta.validation.constraints.DecimalMin.message = musi by\u0107 ${inclusive == true ? 'r\u00f3wne lub ' : ''}wi\u0119ksze od {value}
+jakarta.validation.constraints.Digits.message = warto\u015b\u0107 liczbowa spoza zakresu (oczekiwano ,)
+jakarta.validation.constraints.Email.message = musi by\u0107 poprawnie sformatowanym adresem e-mail
+jakarta.validation.constraints.Future.message = musi by\u0107 dat\u0105 w przysz\u0142o\u015bci
+jakarta.validation.constraints.FutureOrPresent.message = musi by\u0107 dat\u0105 bie\u017c\u0105c\u0105 lub w przysz\u0142o\u015bci
+jakarta.validation.constraints.Max.message = musi by\u0107 r\u00f3wne lub mniejsze od {value}
+jakarta.validation.constraints.Min.message = musi by\u0107 r\u00f3wne lub wi\u0119ksze od {value}
+jakarta.validation.constraints.Negative.message = musi by\u0107 mniejsze od 0
+jakarta.validation.constraints.NegativeOrZero.message = musi by\u0107 r\u00f3wne lub mniejsze od 0
+jakarta.validation.constraints.NotBlank.message = nie mo\u017ce by\u0107 odst\u0119pem
+jakarta.validation.constraints.NotEmpty.message = nie mo\u017ce by\u0107 puste
+jakarta.validation.constraints.NotNull.message = nie mo\u017ce mie\u0107 warto\u015bci null
+jakarta.validation.constraints.Null.message = musi mie\u0107 warto\u015b\u0107 null
+jakarta.validation.constraints.Past.message = musi by\u0107 dat\u0105 w przesz\u0142o\u015bci
+jakarta.validation.constraints.PastOrPresent.message = musi by\u0107 dat\u0105 bie\u017c\u0105c\u0105 lub w przesz\u0142o\u015bci
+jakarta.validation.constraints.Pattern.message = musi pasowa\u0107 do wyra\u017cenia {regexp}
+jakarta.validation.constraints.Positive.message = musi by\u0107 wi\u0119ksze od 0
+jakarta.validation.constraints.PositiveOrZero.message = musi by\u0107 r\u00f3wne lub wi\u0119ksze od 0
+jakarta.validation.constraints.Size.message = wielko\u015b\u0107 musi nale\u017ce\u0107 do zakresu od {min} do {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = niepoprawny numer karty kredytowej
+org.hibernate.validator.constraints.Currency.message = niepoprawna waluta (musi by\u0107 jedn\u0105 z nast\u0119puj\u0105cych: {value})
+org.hibernate.validator.constraints.EAN.message = niepoprawny kod paskowy {type}
+org.hibernate.validator.constraints.ISBN.message = niepoprawny numer ISBN
+org.hibernate.validator.constraints.Length.message = d\u0142ugo\u015b\u0107 musi wynosi\u0107 od {min} do {max}
+org.hibernate.validator.constraints.CodePointLength.message = d\u0142ugo\u015b\u0107 musi wynosi\u0107 od {min} do {max}
+org.hibernate.validator.constraints.LuhnCheck.message = cyfra kontrolna dla warto\u015bci ${validatedValue} jest niepoprawna, sprawdzenie sumy kontrolnej za pomoc\u0105 algorytmu Luhn Modulo 10 nie powiod\u0142o si\u0119
+org.hibernate.validator.constraints.Mod10Check.message = cyfra kontrolna dla warto\u015bci ${validatedValue} jest niepoprawna, sprawdzenie sumy kontrolnej za pomoc\u0105 algorytmu Modulo 10 nie powiod\u0142o si\u0119
+org.hibernate.validator.constraints.Mod11Check.message = cyfra kontrolna dla warto\u015bci ${validatedValue} jest niepoprawna, sprawdzenie sumy kontrolnej za pomoc\u0105 algorytmu Modulo 11 nie powiod\u0142o si\u0119
+org.hibernate.validator.constraints.ParametersScriptAssert.message = warto\u015bciowanie wyra\u017cenia skryptu {script} nie zwr\u00f3ci\u0142o warto\u015bci true
+org.hibernate.validator.constraints.Range.message = musi nale\u017ce\u0107 do zakresu od {min} do {max}
+org.hibernate.validator.constraints.ScriptAssert.message = warto\u015bciowanie wyra\u017cenia skryptu {script} nie zwr\u00f3ci\u0142o warto\u015bci true
+org.hibernate.validator.constraints.UniqueElements.message = musi zawiera\u0107 tylko unikalne elementy
+org.hibernate.validator.constraints.URL.message = musi by\u0107 poprawnym adresem URL
+org.hibernate.validator.constraints.UUID.message = musi by\u0107 poprawnym UUID
+
+org.hibernate.validator.constraints.br.CNPJ.message = niepoprawny numer brazylijskiego rejestru podatkowego os\u00f3b prawnych (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = niepoprawny numer brazylijskiego rejestru podatkowego os\u00f3b fizycznych (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = niepoprawny numer brazylijskiej karty identyfikacyjnej g\u0142osuj\u0105cego
+
+org.hibernate.validator.constraints.kor.KorRRN.message = niepoprawny numer rejestracyjny rezydenta Korei (KorRRN)
+
+org.hibernate.validator.constraints.pl.REGON.message = niepoprawny numer identyfikacyjny polskiego podatnika (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = niepoprawny number identyfikacyjny VAT (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = niepoprawny polski narodowy numer identyfikacyjny (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = niepoprawny numer identyfikacyjny rosyjskiego podatnika (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = musi by\u0107 ${inclusive == true ? 'r\u00f3wne lub ' : ''}kr\u00f3tsze ni\u017c${days == 0 ? '' : days == 1 ? ' 1 dzie\u0144' : ' ' += days += ' dni'}${hours == 0 ? '' : hours == 1 ? ' 1 godzina' : ' ' += hours += ' godz.'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuta' : ' ' += minutes += ' min'}${seconds == 0 ? '' : seconds == 1 ? ' 1 sekunda' : ' ' += seconds += ' s'}${millis == 0 ? '' : millis == 1 ? ' 1 milisekunda' : ' ' += millis += ' ms'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosekunda' : ' ' += nanos += ' ns'}
+org.hibernate.validator.constraints.time.DurationMin.message = musi by\u0107 ${inclusive == true ? 'r\u00f3wne lub ' : ''}d\u0142u\u017csze ni\u017c${days == 0 ? '' : days == 1 ? ' 1 dzie\u0144' : ' ' += days += ' dni'}${hours == 0 ? '' : hours == 1 ? ' 1 godzina' : ' ' += hours += ' godz.'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuta' : ' ' += minutes += ' min'}${seconds == 0 ? '' : seconds == 1 ? ' 1 sekunda' : ' ' += seconds += ' s'}${millis == 0 ? '' : millis == 1 ? ' 1 milisekunda' : ' ' += millis += ' ms'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosekunda' : ' ' += nanos += ' ns'}
+
+org.hibernate.validator.constraints.BitcoinAddress.message.single = musi by\u0107 prawid\u0142owym adresem Bitcoin dla tego typu:
+org.hibernate.validator.constraints.BitcoinAddress.message.multiple = musi by\u0107 prawid\u0142owym adresem Bitcoin dla jednego z tych typ\u0142w:
+
+org.hibernate.validator.constraints.BitcoinAddress.type.p2pkh = Przestarza\u0142y (P2PKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2sh = Zagnie\u017cd\u017cony SegWit (P2SH)
+org.hibernate.validator.constraints.BitcoinAddress.type.bech32 = Rodzimy SegWit (Bech32)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wsh = SegWit wariant P2SH (P2WSH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wpkh = SegWit wariant P2PKH (P2WPKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2tr = Taproot (P2TR)
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt.properties
new file mode 100644
index 00000000000..f1637fcc6e8
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt.properties
@@ -0,0 +1,58 @@
+jakarta.validation.constraints.AssertFalse.message = deve ser falso
+jakarta.validation.constraints.AssertTrue.message = deve ser verdadeiro
+jakarta.validation.constraints.DecimalMax.message = deve ser menor que ${inclusive == true ? 'ou igual a ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = deve ser maior que ${inclusive == true ? 'ou igual a ' : ''}{value}
+jakarta.validation.constraints.Digits.message = valor n\u00famerico fora do limite (<{integer} d\u00edgito>.<{fraction} d\u00edgitos> esperar)
+jakarta.validation.constraints.Email.message = deve ser um endere\u00e7o de e-mail bem formado
+jakarta.validation.constraints.Future.message = deve ser uma data futura
+jakarta.validation.constraints.FutureOrPresent.message = deve ser uma data no presente ou no futuro
+jakarta.validation.constraints.Max.message = deve ser menor que ou igual a {value}
+jakarta.validation.constraints.Min.message = deve ser maior que ou igual a {value}
+jakarta.validation.constraints.Negative.message = deve ser menor que 0
+jakarta.validation.constraints.NegativeOrZero.message = deve ser menor ou igual a 0
+jakarta.validation.constraints.NotBlank.message = n\u00e3o deve estar em branco
+jakarta.validation.constraints.NotEmpty.message = n\u00e3o deve estar vazio
+jakarta.validation.constraints.NotNull.message = n\u00e3o deve ser nulo
+jakarta.validation.constraints.Null.message = deve ser nulo
+jakarta.validation.constraints.Past.message = deve ser uma data passada
+jakarta.validation.constraints.PastOrPresent.message = deve ser uma data no passado ou no presente
+jakarta.validation.constraints.Pattern.message = deve corresponder a "{regexp}"
+jakarta.validation.constraints.Positive.message = deve ser maior que 0
+jakarta.validation.constraints.PositiveOrZero.message = deve ser maior ou igual a 0
+jakarta.validation.constraints.Size.message = tamanho deve ser entre {min} e {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = n\u00famero do cart\u00e3o de cr\u00e9dito inv\u00e1lido
+org.hibernate.validator.constraints.Currency.message = moeda inv\u00e1lida (deve ser uma de {value})
+org.hibernate.validator.constraints.EAN.message = c\u00f3digo de barras {type} inv\u00e1lido
+org.hibernate.validator.constraints.ISBN.message = ISBN inv\u00e1lido
+org.hibernate.validator.constraints.Length.message = o comprimento deve ser entre {min} e {max}
+org.hibernate.validator.constraints.CodePointLength.message = o comprimento deve ser entre {min} e {max}
+org.hibernate.validator.constraints.LuhnCheck.message = o d\u00edgito de verifica\u00e7\u00e3o para ${validatedValue} \u00e9 inv\u00e1lido, soma de verifica\u00e7\u00e3o Modulo 10 com falha
+org.hibernate.validator.constraints.Mod10Check.message = o d\u00edgito de verifica\u00e7\u00e3o para ${validatedValue} \u00e9 inv\u00e1lido, soma de verifica\u00e7\u00e3o Modulo 10 com falha
+org.hibernate.validator.constraints.Mod11Check.message = o d\u00edgito de verifica\u00e7\u00e3o para ${validatedValue} \u00e9 inv\u00e1lido, soma de verifica\u00e7\u00e3o Modulo 11 com falha
+org.hibernate.validator.constraints.ParametersScriptAssert.message = express\u00e3o de script "{script}" n\u00e3o avaliou para true
+org.hibernate.validator.constraints.Range.message = deve estar entre {min} e {max}
+org.hibernate.validator.constraints.ScriptAssert.message = express\u00e3o de script "{script}" n\u00e3o avaliou para true
+org.hibernate.validator.constraints.UniqueElements.message = deve conter apenas elementos exclusivos
+org.hibernate.validator.constraints.URL.message = deve ser uma URL v\u00e1lida
+org.hibernate.validator.constraints.UUID.message = deve ser uma UUID v\u00e1lida
+
+org.hibernate.validator.constraints.br.CNPJ.message = n\u00famero do registro de contribuinte corporativo brasileiro (CNPJ) inv\u00e1lido
+org.hibernate.validator.constraints.br.CPF.message = n\u00famero do registro de contribuinte individual brasileiro (CPF) inv\u00e1lido
+org.hibernate.validator.constraints.br.TituloEleitoral.message = n\u00famero do t\u00edtulo de eleitor brasileiro inv\u00e1lido
+
+org.hibernate.validator.constraints.pl.NIP.message = n\u00famero de identifica\u00e7\u00e3o de VAT (NIP) inv\u00e1lido
+
+org.hibernate.validator.constraints.ru.INN.message = n\u00famero de identifica\u00e7\u00e3o de contribuinte russo (INN) inv\u00e1lido
+
+org.hibernate.validator.constraints.time.DurationMax.message = deve ser menor que${inclusive == true ? ' ou igual a' : ''}${days == 0 ? '' : days == 1 ? ' 1 dia' : ' ' += days += ' dias'}${hours == 0 ? '' : hours == 1 ? ' 1 hora' : ' ' += hours += ' horas'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuto' : ' ' += minutes += ' minutos'}${seconds == 0 ? '' : seconds == 1 ? ' 1 segundo' : ' ' += seconds += ' segundos'}${millis == 0 ? '' : millis == 1 ? ' 1 mili' : ' ' += millis += ' miliss'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = deve ser maior que${inclusive == true ? ' ou igual a' : ''}${days == 0 ? '' : days == 1 ? ' 1 dia' : ' ' += days += ' dias'}${hours == 0 ? '' : hours == 1 ? ' 1 hora' : ' ' += hours += ' horas'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minuto' : ' ' += minutes += ' minutos'}${seconds == 0 ? '' : seconds == 1 ? ' 1 segundo' : ' ' += seconds += ' segundos'}${millis == 0 ? '' : millis == 1 ? ' 1 mili' : ' ' += millis += ' miliss'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+
+org.hibernate.validator.constraints.BitcoinAddress.message.single = deve ser um endere\u00e7o Bitcoin v\u00e1lido para o tipo:
+org.hibernate.validator.constraints.BitcoinAddress.message.multiple = deve ser um endere\u00e7o Bitcoin v\u00e1lido para um desses tipos:
+
+org.hibernate.validator.constraints.BitcoinAddress.type.p2pkh = Legado (P2PKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2sh = SegWit aninhado (P2SH)
+org.hibernate.validator.constraints.BitcoinAddress.type.bech32 = SegWit nativo (Bech32)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wsh = Variante SegWit de P2SH (P2WSH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wpkh = Variante SegWit de P2PKH (P2WPKH)
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_BR.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_BR.properties
new file mode 100644
index 00000000000..359f6563501
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_BR.properties
@@ -0,0 +1,6 @@
+
+jakarta.validation.constraints.Max.message = deve ser menor que ou igual \u00e0 {value}
+jakarta.validation.constraints.Min.message = deve ser maior que ou igual \u00e0 {value}
+
+org.hibernate.validator.constraints.pl.REGON.message = n\u00famero de identifica\u00e7\u00e3o de contribuinte polon\u00eas (REGON) inv\u00e1lido
+org.hibernate.validator.constraints.pl.PESEL.message = n\u00famero de identifica\u00e7\u00e3o nacional polonesa (PESEL) inv\u00e1lido
\ No newline at end of file
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_PT.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_PT.properties
new file mode 100644
index 00000000000..f30842a24dd
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_pt_PT.properties
@@ -0,0 +1,11 @@
+jakarta.validation.constraints.Past.message = deve ser uma data no passado
+jakarta.validation.constraints.Size.message = tamanho deve estar entre {min} e {max}
+
+org.hibernate.validator.constraints.Length.message = o comprimento deve estar entre {min} e {max}
+org.hibernate.validator.constraints.CodePointLength.message = o comprimento deve estar entre {min} e {max}
+
+org.hibernate.validator.constraints.br.CNPJ.message = n\u00famero de registo de contribuinte corporativo brasileiro (CNPJ) inv\u00e1lido
+org.hibernate.validator.constraints.br.CPF.message = n\u00famero de registo de contribuinte individual brasileiro (CPF) inv\u00e1lido
+
+org.hibernate.validator.constraints.pl.REGON.message = n\u00famero de identifica\u00e7\u00e3o de contribuinte polaco (REGON) inv\u00e1lido
+org.hibernate.validator.constraints.pl.PESEL.message = n\u00famero de identifica\u00e7\u00e3o nacional poloca (PESEL) inv\u00e1lido
\ No newline at end of file
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ro.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ro.properties
new file mode 100644
index 00000000000..61986629997
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ro.properties
@@ -0,0 +1,51 @@
+jakarta.validation.constraints.AssertFalse.message = trebuie s\u0103 fie false
+jakarta.validation.constraints.AssertTrue.message = trebuie s\u0103 fie true
+jakarta.validation.constraints.DecimalMax.message = trebuie s\u0103 fie mai mic dec\u00e2t ${inclusive == true ? 'sau egal cu ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = trebuie s\u0103 fie mai mare dec\u00e2t ${inclusive == true ? 'sau egal cu ' : ''}{value}
+jakarta.validation.constraints.Digits.message = valoare numeric\u0103 \u00een afara limitelor (<{integer} digi\u0163i>.<{fraction} digi\u0163i> a\u015fteptat)
+jakarta.validation.constraints.Email.message = trebuie s\u0103 fie o adres\u0103 de e-mail cu format corect
+jakarta.validation.constraints.Future.message = trebuie s\u0103 fie o dat\u0103 viitoare
+jakarta.validation.constraints.FutureOrPresent.message = trebuie s\u0103 fie o dat\u0103 \u00een prezent sau \u00een viitor
+jakarta.validation.constraints.Max.message = trebuie s\u0103 fie mai mic sau egal dec\u00e2t {value}
+jakarta.validation.constraints.Min.message = trebuie s\u0103 fie mai mare sau egal dec\u00e2t {value}
+jakarta.validation.constraints.Negative.message = trebuie s\u0103 fie mai mic dec\u00e2t 0
+jakarta.validation.constraints.NegativeOrZero.message = trebuie s\u0103 fie mai mic sau egal dec\u00e2t 0
+jakarta.validation.constraints.NotBlank.message = nu trebuie s\u0103 fie blanc
+jakarta.validation.constraints.NotEmpty.message = nu trebuie s\u0103 fie gol
+jakarta.validation.constraints.NotNull.message = nu trebuie s\u0103 fie null
+jakarta.validation.constraints.Null.message = trebuie s\u0103 fie null
+jakarta.validation.constraints.Past.message = trebuie s\u0103 fie o dat\u0103 anterioar\u0103
+jakarta.validation.constraints.PastOrPresent.message = trebuie s\u0103 fie o dat\u0103 anterioar\u0103 sau din prezent
+jakarta.validation.constraints.Pattern.message = trebuie s\u0103 se potriveasc\u0103 "{regexp}"
+jakarta.validation.constraints.Positive.message = trebuie s\u0103 fie mai mare dec\u00e2t 0
+jakarta.validation.constraints.PositiveOrZero.message = trebuie s\u0103 fie mai mare sau egal dec\u00e2t 0
+jakarta.validation.constraints.Size.message = dimensiunea trebuie s\u0103 fie \u00eentre {min} \u015fi {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = num\u0103r invalid de card de credit
+org.hibernate.validator.constraints.Currency.message = moned\u0103 invalid\u0103 trebuie s\u0103 fie una din {value})
+org.hibernate.validator.constraints.EAN.message = cod de bare {type} invalid
+org.hibernate.validator.constraints.ISBN.message = ISBN invalid
+org.hibernate.validator.constraints.Length.message = lungimea trebuie s\u0103 fie \u00eentre {min} \u015fi {max}
+org.hibernate.validator.constraints.CodePointLength.message = lungimea trebuie s\u0103 fie \u00eentre {min} \u015fi {max}
+org.hibernate.validator.constraints.LuhnCheck.message = cifra de verificare pentru ${validatedValue} este invalid\u0103, suma de control Luhn Modulo 10 a e\u015fuat
+org.hibernate.validator.constraints.Mod10Check.message = cifra de verificare pentru ${validatedValue} este invalid\u0103, suma de control Modulo 10 a e\u015fuat
+org.hibernate.validator.constraints.Mod11Check.message = cifra de verificare pentru ${validatedValue} este invalid\u0103, suma de control Modulo 11 a e\u015fuat
+org.hibernate.validator.constraints.ParametersScriptAssert.message = expresia de script "{script}" nu s-a evaluat la true
+org.hibernate.validator.constraints.Range.message = trebuie s\u0103 fie \u00eentre {min} \u015fi {max}
+org.hibernate.validator.constraints.ScriptAssert.message = expresia de script "{script}" nu s-a evaluat la true
+org.hibernate.validator.constraints.UniqueElements.message = trebuie s\u0103 con\u0163in\u0103 numai elemente unice
+org.hibernate.validator.constraints.URL.message = trebuie s\u0103 fie un URL valid
+org.hibernate.validator.constraints.UUID.message = trebuie s\u0103 fie un UUID valid
+
+org.hibernate.validator.constraints.br.CNPJ.message = num\u0103r de registru de contribuabil corporatist brazilian invalid (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = num\u0103r de registru de contribuabil individual brazilian invalid (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = num\u0103r invalid de carte de identitate de votant brazilian
+
+org.hibernate.validator.constraints.pl.REGON.message = num\u0103r invalid de identificare contribuabil polonez (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = num\u0103r invalid de identificare VAT (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = num\u0103r invalid de identificare na\u0163ional polonez (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = num\u0103r invalid de identificare contribuabil rus (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = trebuie s\u0103 fie mai scurt dec\u00e2t${inclusive == true ? ' sau egal cu' : ''}${days == 0 ? '' : days == 1 ? ' 1 zi' : ' ' += days += ' zile'}${hours == 0 ? '' : hours == 1 ? ' 1 or\u0103' : ' ' += hours += ' ore'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minut' : ' ' += minutes += ' minute'}${seconds == 0 ? '' : seconds == 1 ? ' 1 secund\u0103' : ' ' += seconds += ' secunde'}${millis == 0 ? '' : millis == 1 ? ' 1 milisecund\u0103' : ' ' += millis += ' milisecunde'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosecund\u0103' : ' ' += nanos += ' nanosecunde'}
+org.hibernate.validator.constraints.time.DurationMin.message = trebuie s\u0103 fie mai lung dec\u00e2t${inclusive == true ? ' sau egal cu' : ''}${days == 0 ? '' : days == 1 ? ' 1 zi' : ' ' += days += ' zile'}${hours == 0 ? '' : hours == 1 ? ' 1 or\u0103' : ' ' += hours += ' ore'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minut' : ' ' += minutes += ' minute'}${seconds == 0 ? '' : seconds == 1 ? ' 1 secund\u0103' : ' ' += seconds += ' secunde'}${millis == 0 ? '' : millis == 1 ? ' 1 milisecund\u0103' : ' ' += millis += ' milisecunde'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nanosecund\u0103' : ' ' += nanos += ' nanosecunde'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ru.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ru.properties
new file mode 100644
index 00000000000..b822d329abf
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_ru.properties
@@ -0,0 +1,50 @@
+jakarta.validation.constraints.AssertFalse.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u043e false
+jakarta.validation.constraints.AssertTrue.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u043e true
+jakarta.validation.constraints.DecimalMax.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c ${inclusive == true ? '\u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c ${inclusive == true ? '\u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u0447\u0438\u0441\u043b\u043e \u0432\u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 (\u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c <{integer} \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432>.<{fraction} \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432>)
+jakarta.validation.constraints.Email.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b
+jakarta.validation.constraints.Future.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0434\u0430\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0449\u0435 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u0430
+jakarta.validation.constraints.FutureOrPresent.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0438\u043b\u0438 \u0434\u0430\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0449\u0435 \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b\u0430
+jakarta.validation.constraints.Max.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 {value}
+jakarta.validation.constraints.Min.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 {value}
+jakarta.validation.constraints.Negative.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 0
+jakarta.validation.constraints.NegativeOrZero.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 0
+jakarta.validation.constraints.NotBlank.message = \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c
+jakarta.validation.constraints.NotEmpty.message = \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c
+jakarta.validation.constraints.NotNull.message = \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0432\u043d\u044f\u0442\u044c\u0441\u044f null
+jakarta.validation.constraints.Null.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0432\u043d\u044f\u0442\u044c\u0441\u044f null
+jakarta.validation.constraints.Past.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0443\u044e \u0434\u0430\u0442\u0443
+jakarta.validation.constraints.PastOrPresent.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0443\u044e \u0434\u0430\u0442\u0443 \u0438\u043b\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e
+jakarta.validation.constraints.Pattern.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c "{regexp}"
+jakarta.validation.constraints.Positive.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 0
+jakarta.validation.constraints.PositiveOrZero.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e 0
+jakarta.validation.constraints.Size.message = \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 {min} \u0434\u043e {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u044b
+org.hibernate.validator.constraints.Currency.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u0434\u0435\u043d\u0435\u0436\u043d\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 (\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: {value})
+org.hibernate.validator.constraints.EAN.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0448\u0442\u0440\u0438\u0445\u043e\u0432\u043e\u0439 \u043a\u043e\u0434 {type}
+org.hibernate.validator.constraints.ISBN.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 ISBN
+org.hibernate.validator.constraints.Length.message = \u0434\u043b\u0438\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0442 {min} \u0434\u043e {max}
+org.hibernate.validator.constraints.CodePointLength.message = \u0434\u043b\u0438\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0442 {min} \u0434\u043e {max}
+org.hibernate.validator.constraints.LuhnCheck.message = \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u0434\u043b\u044f ${validatedValue} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b Luhn Modulo 10
+org.hibernate.validator.constraints.Mod10Check.message = \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u0434\u043b\u044f ${validatedValue} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b Modulo 10
+org.hibernate.validator.constraints.Mod11Check.message = \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u0434\u043b\u044f ${validatedValue} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b Modulo 11
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f "{script}" \u043d\u0435 \u0440\u0430\u0432\u0435\u043d true
+org.hibernate.validator.constraints.Range.message = \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 {min} \u0434\u043e {max}
+org.hibernate.validator.constraints.ScriptAssert.message = \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f "{script}" \u043d\u0435 \u0440\u0430\u0432\u0435\u043d true
+org.hibernate.validator.constraints.UniqueElements.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b
+org.hibernate.validator.constraints.URL.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 URL
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u043b\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0435\u043b\u044c\u0449\u0438\u043a\u0430-\u044e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043b\u0438\u0446\u0430 (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u043b\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0435\u043b\u044c\u0449\u0438\u043a\u0430-\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043b\u0438\u0446\u0430 (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u0438\u0437\u0431\u0438\u0440\u0430\u0442\u0435\u043b\u044f
+
+org.hibernate.validator.constraints.pl.REGON.message = \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u043b\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0435\u043b\u044c\u0449\u0438\u043a\u0430 (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 VAT (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430\u043b\u043e\u0433\u043e\u043f\u043b\u0430\u0442\u0435\u043b\u044c\u0449\u0438\u043a\u0430 (\u0418\u041d\u041d)
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043a\u043e\u0440\u043e\u0447\u0435${inclusive == true ? ' \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e' : ''}${days == 0 ? '' : days == 1 ? ' 1 \u0434\u043d' : ' ' += days += ' \u0434\u043d'}${hours == 0 ? '' : hours == 1 ? ' 1 \u0447' : ' ' += hours += ' \u0447'}${minutes == 0 ? '' : minutes == 1 ? ' 1 \u043c\u0438\u043d' : ' ' += minutes += ' \u043c\u0438\u043d'}${seconds == 0 ? '' : seconds == 1 ? ' 1 \u0441' : ' ' += seconds += ' \u0441'}${millis == 0 ? '' : millis == 1 ? ' 1 \u043c\u0441' : ' ' += millis += ' \u043c\u0441'}${nanos == 0 ? '' : nanos == 1 ? ' 1 \u043d\u0441' : ' ' += nanos += ' \u043d\u0441'}
+org.hibernate.validator.constraints.time.DurationMin.message = \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043b\u0438\u043d\u043d\u0435\u0435${inclusive == true ? ' \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e' : ''}${days == 0 ? '' : days == 1 ? ' 1 \u0434\u043d' : ' ' += days += ' \u0434\u043d'}${hours == 0 ? '' : hours == 1 ? ' 1 \u0447' : ' ' += hours += ' \u0447'}${minutes == 0 ? '' : minutes == 1 ? ' 1 \u043c\u0438\u043d' : ' ' += minutes += ' \u043c\u0438\u043d'}${seconds == 0 ? '' : seconds == 1 ? ' 1 \u0441' : ' ' += seconds += ' \u0441'}${millis == 0 ? '' : millis == 1 ? ' 1 \u043c\u0441' : ' ' += millis += ' \u043c\u0441'}${nanos == 0 ? '' : nanos == 1 ? ' 1 \u043d\u0441' : ' ' += nanos += ' \u043d\u0441'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_sk.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_sk.properties
new file mode 100644
index 00000000000..78b94d4b080
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_sk.properties
@@ -0,0 +1,28 @@
+jakarta.validation.constraints.AssertFalse.message = mus\u00ed by\u0165 nie
+jakarta.validation.constraints.AssertTrue.message = mus\u00ed by\u0165 \u00e1no
+jakarta.validation.constraints.DecimalMax.message = mus\u00ed by\u0165 men\u0161ie ${inclusive == true ? 'alebo rovn\u00e9' : 'ako'} {value}
+jakarta.validation.constraints.DecimalMin.message = mus\u00ed by\u0165 v\u00e4\u010d\u0161ie ${inclusive == true ? 'alebo rovn\u00e9' : 'ako'} {value}
+jakarta.validation.constraints.Digits.message = \u010d\u00edseln\u00e1 hodnota je mimo rozsahu (o\u010dak\u00e1van\u00e9 <{integer} \u010d\u00edslic>.<{fraction} \u010d\u00edslic>)
+jakarta.validation.constraints.Email.message = nespr\u00e1vny form\u00e1t emailovej adresy
+jakarta.validation.constraints.Future.message = mus\u00ed by\u0165 v bud\u00facnosti
+jakarta.validation.constraints.Max.message = mus\u00ed by\u0165 men\u0161ie alebo rovn\u00e9 {value}
+jakarta.validation.constraints.Min.message = mus\u00ed by\u0165 v\u00e4\u010d\u0161ie alebo rovn\u00e9 {value}
+jakarta.validation.constraints.NotBlank.message = nem\u00f4\u017ee by\u0165 pr\u00e1zdne
+jakarta.validation.constraints.NotEmpty.message = nem\u00f4\u017ee by\u0165 pr\u00e1zdne
+jakarta.validation.constraints.NotNull.message = nem\u00f4\u017ee by\u0165 null
+jakarta.validation.constraints.Null.message = mus\u00ed by\u0165 null
+jakarta.validation.constraints.Past.message = mus\u00ed by\u0165 v minulosti
+jakarta.validation.constraints.Pattern.message = sa mus\u00ed zhodova\u0165 s "{regexp}"
+jakarta.validation.constraints.Size.message = ve\u013ekos\u0165 mus\u00ed by\u0165 medzi {min} a {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = neplatn\u00e9 \u010d\u00edslo kreditnej karty
+org.hibernate.validator.constraints.EAN.message = nespr\u00e1vny {type} \u010diarov\u00fd k\u00f3d
+org.hibernate.validator.constraints.Length.message = d\u013a\u017eka mus\u00ed by\u0165 medzi {min} a {max}
+org.hibernate.validator.constraints.CodePointLength.message = d\u013a\u017eka mus\u00ed by\u0165 medzi {min} a {max}
+org.hibernate.validator.constraints.LuhnCheck.message = kontroln\u00e1 \u010d\u00edslica pre ${validatedValue} nie je spr\u00e1vna, kontroln\u00fd s\u00fa\u010det Luhn Modulo 10 zlyhal
+org.hibernate.validator.constraints.Mod10Check.message = kontroln\u00e1 \u010d\u00edslica pre ${validatedValue} nie je spr\u00e1vna, kontroln\u00fd s\u00fa\u010det Modulo 10 zlyhal
+org.hibernate.validator.constraints.Mod11Check.message = kontroln\u00e1 \u010d\u00edslica pre ${validatedValue} nie je spr\u00e1vna, kontroln\u00fd s\u00fa\u010det Modulo 11 zlyhal
+org.hibernate.validator.constraints.ParametersScriptAssert.message = skriptovac\u00ed v\u00fdraz "{script}" nebol vyhodnoten\u00fd na \u00e1no
+org.hibernate.validator.constraints.Range.message = mus\u00ed by\u0165 medzi {min} a {max}
+org.hibernate.validator.constraints.ScriptAssert.message = skriptovac\u00ed v\u00fdraz "{script}" nebol vyhodnoten\u00fd na \u00e1no
+org.hibernate.validator.constraints.URL.message = mus\u00ed b\u00fdt platn\u00e1 URL
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_tr.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_tr.properties
new file mode 100644
index 00000000000..d6d09e20e03
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_tr.properties
@@ -0,0 +1,20 @@
+jakarta.validation.constraints.AssertFalse.message = teyit ba\u015Far\u0131s\u0131z
+jakarta.validation.constraints.AssertTrue.message = teyit ba\u015Far\u0131s\u0131z
+jakarta.validation.constraints.DecimalMax.message = '{value}' de\u011Ferinden k\u00FC\u00E7\u00FCk yada e\u015Fit olmal\u0131
+jakarta.validation.constraints.DecimalMin.message = '{value}' de\u011Ferinden b\u00FCy\u00FCk yada e\u015Fit olmal\u0131
+jakarta.validation.constraints.Digits.message = s\u0131n\u0131rlar\u0131n d\u0131\u015F\u0131nda say\u0131sal de\u011Fer (beklenen <{integer} basamak>.<{fraction} basamak>)
+jakarta.validation.constraints.Email.message = d\u00FCzg\u00FCn bi\u00E7imli bir e-posta adresi de\u011Fil!
+jakarta.validation.constraints.Future.message = ileri bir tarih olmal\u0131
+jakarta.validation.constraints.Max.message = '{value}' de\u011Ferinden k\u00FC\u00E7\u00FCk yada e\u015Fit olmal\u0131
+jakarta.validation.constraints.Min.message = '{value}' de\u011Ferinden b\u00FCy\u00FCk yada e\u015Fit olmal\u0131
+jakarta.validation.constraints.NotBlank.message = bo\u015F de\u011Fer olamaz
+jakarta.validation.constraints.NotEmpty.message = bo\u015F de\u011Fer olamaz
+jakarta.validation.constraints.NotNull.message = bo\u015F de\u011Fer olamaz
+jakarta.validation.constraints.Null.message = bo\u015F de\u011Fer olmal\u0131
+jakarta.validation.constraints.Past.message = ge\u00E7mi\u015F bir tarih olmal\u0131
+jakarta.validation.constraints.Pattern.message = '{regexp}' ile e\u015Fle\u015Fmeli
+jakarta.validation.constraints.Size.message = boyut '{min}' ile '{max}' aras\u0131nda olmal\u0131
+
+org.hibernate.validator.constraints.Length.message = uzunluk '{min}' ile '{max}' aras\u0131nda olmal\u0131
+org.hibernate.validator.constraints.CodePointLength.message = uzunluk '{min}' ile '{max}' aras\u0131nda olmal\u0131
+org.hibernate.validator.constraints.Range.message = {min} ve {max} aras\u0131nda olmal\u0131d\u0131r!
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_uk.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_uk.properties
new file mode 100644
index 00000000000..51d7fcf62c4
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_uk.properties
@@ -0,0 +1,63 @@
+jakarta.validation.constraints.AssertFalse.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0445\u0438\u0431\u043d\u0438\u043c
+jakarta.validation.constraints.AssertTrue.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0456\u0441\u0442\u0438\u043d\u043d\u0438\u043c
+jakarta.validation.constraints.DecimalMax.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0435\u043d\u0448\u0435 ${inclusive == true ? '\u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 ${inclusive == true ? '\u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u0447\u0438\u0441\u043b\u043e\u0432\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u043e\u0437\u0430 \u043c\u0435\u0436\u0430\u043c\u0438 (\u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u043e <{integer} \u0446\u0438\u0444\u0440>.<{fraction} \u0446\u0438\u0444\u0440>)
+jakarta.validation.constraints.Email.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u043e\u0432\u0430\u043d\u0430 email \u0430\u0434\u0440\u0435\u0441\u0430
+jakarta.validation.constraints.Future.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043c\u0430\u0439\u0431\u0443\u0442\u043d\u044c\u043e\u043c\u0443
+jakarta.validation.constraints.FutureOrPresent.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043c\u0430\u0439\u0431\u0443\u0442\u043d\u044c\u043e\u043c\u0443 \u0430\u0431\u043e \u0442\u0435\u043f\u0435\u0440\u0456\u0448\u043d\u044c\u043e\u043c\u0443 \u0447\u0430\u0441\u0456
+jakarta.validation.constraints.Max.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 {value}
+jakarta.validation.constraints.Min.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 {value}
+jakarta.validation.constraints.Negative.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0435\u043d\u0448\u0435 0
+jakarta.validation.constraints.NegativeOrZero.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 0
+jakarta.validation.constraints.NotBlank.message = \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u0443\u0441\u0442\u0438\u043c
+jakarta.validation.constraints.NotEmpty.message = \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u043c
+jakarta.validation.constraints.NotNull.message = \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0432\u0456\u0434\u0441\u0443\u0442\u043d\u0456\u043c\u002c \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0437\u0430\u0434\u0430\u043d\u043e
+jakarta.validation.constraints.Null.message = \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u043d\u0456\u043c\u002c \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043d\u0435\u0437\u0430\u0434\u0430\u043d\u043e
+jakarta.validation.constraints.Past.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043c\u0438\u043d\u0443\u043b\u043e\u043c\u0443
+jakarta.validation.constraints.PastOrPresent.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0432 \u043c\u0438\u043d\u0443\u043b\u043e\u043c\u0443 \u0430\u0431\u043e \u0442\u0435\u043f\u0435\u0440\u0456\u0448\u043d\u044c\u043e\u043c\u0443 \u0447\u0430\u0441\u0456
+jakarta.validation.constraints.Pattern.message = \u043c\u0430\u0454 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 "{regexp}"
+jakarta.validation.constraints.Positive.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 0
+jakarta.validation.constraints.PositiveOrZero.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0435 0
+jakarta.validation.constraints.Size.message = \u0440\u043e\u0437\u043c\u0456\u0440 \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0456\u0436 {min} \u0442\u0430 {max}
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0457 \u043a\u0430\u0440\u0442\u0438
+org.hibernate.validator.constraints.Currency.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430 \u0432\u0430\u043b\u044e\u0442\u0430 (\u043f\u043e\u0432\u0438\u043d\u043d\u0430 \u0431\u0443\u0442\u0438 \u043e\u0434\u043d\u0456\u0454\u044e \u0456\u0437 {value})
+org.hibernate.validator.constraints.EAN.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u0448\u0442\u0440\u0438\u0445\u043a\u043e\u0434 {type}
+org.hibernate.validator.constraints.ISBN.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 ISBN
+org.hibernate.validator.constraints.Length.message = \u0434\u043e\u0432\u0436\u0438\u043d\u0430 \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0456\u0436 {min} \u0442\u0430 {max}
+org.hibernate.validator.constraints.CodePointLength.message = \u0434\u043e\u0432\u0436\u0438\u043d\u0430 \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0456\u0436 {min} \u0442\u0430 {max}
+org.hibernate.validator.constraints.LuhnCheck.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430 \u0446\u0438\u0444\u0440\u0430 \u0434\u043b\u044f ${validatedValue}, \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0437\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c \u041b\u0443\u043d\u0430 \u0437\u0430\u043a\u0456\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0437 \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e
+org.hibernate.validator.constraints.Mod10Check.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430 \u0446\u0438\u0444\u0440\u0430 \u0434\u043b\u044f ${validatedValue}, \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0437\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c Mod10 \u0437\u0430\u043a\u0456\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0437 \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e
+org.hibernate.validator.constraints.Mod11Check.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430 \u0446\u0438\u0444\u0440\u0430 \u0434\u043b\u044f ${validatedValue}, \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0437\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c Mod11 \u0437\u0430\u043a\u0456\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u0437 \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0438\u0439 \u0432\u0438\u0440\u0430\u0437 "{script}" \u043d\u0435 \u0454 \u0456\u0441\u0442\u0438\u043d\u043d\u0438\u043c
+org.hibernate.validator.constraints.Range.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043c\u0456\u0436 {min} \u0442\u0430 {max}
+org.hibernate.validator.constraints.ScriptAssert.message = \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0438\u0439 \u0432\u0438\u0440\u0430\u0437 "{script}" \u043d\u0435 \u0454 \u0456\u0441\u0442\u0438\u043d\u043d\u0438\u043c
+org.hibernate.validator.constraints.UniqueElements.message = \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u043c\u0456\u0441\u0442\u0438\u0442\u0438 \u043b\u0438\u0448\u0435 \u0443\u043d\u0456\u043a\u0430\u043b\u044c\u043d\u0456 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438
+org.hibernate.validator.constraints.URL.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c URL
+org.hibernate.validator.constraints.UUID.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c UUID
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0430 \u043f\u043e\u0434\u0430\u0442\u043a\u0456\u0432 (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0430 \u043f\u043e\u0434\u0430\u0442\u043a\u0456\u0432 (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0431\u0440\u0430\u0437\u0438\u043b\u044c\u0441\u043a\u043e\u0457 ID \u043a\u0430\u0440\u0442\u0438 \u0432\u0438\u0431\u043e\u0440\u0446\u044f
+
+org.hibernate.validator.constraints.kor.KorRRN.message = \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 \u0440\u0435\u0437\u0438\u0434\u0435\u043D\u0442\u0430 \u041A\u043E\u0440\u0435\u0457 (KorRRN)
+
+org.hibernate.validator.constraints.pl.REGON.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u0439\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0430 \u043f\u043e\u0434\u0430\u0442\u043a\u0456\u0432 (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u0439\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0430 \u043f\u043e\u0434\u0430\u0442\u043a\u0443 \u041f\u0414\u0412 (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043d\u0430\u0446\u0456\u043e\u043d\u0430\u043b\u044c\u043d\u0438\u0439 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u0439\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 (PESEL)
+
+org.hibernate.validator.constraints.ru.INN.message = \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u0439 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u0439\u043d\u0438\u0439 \u043d\u043e\u043c\u0435\u0440 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0430 \u043f\u043e\u0434\u0430\u0442\u043a\u0456\u0432 (INN)
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u043a\u043e\u0440\u043e\u0442\u0448\u0438\u0439${inclusive == true ? ' \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0438\u0439' : ''} \u0437\u0430${days == 0 ? '' : days == 1 ? ' 1 \u0434\u0435\u043d\u044c' : ' ' += days += ' \u0434\u043d\u0456\u0432'}${hours == 0 ? '' : hours == 1 ? ' 1 \u0433\u043e\u0434\u0438\u043d\u0430' : ' ' += hours += ' \u0433\u043e\u0434\u0438\u043d'}${minutes == 0 ? '' : minutes == 1 ? ' 1 \u0445\u0432\u0438\u043b\u0438\u043d\u0430' : ' ' += minutes += ' \u0445\u0432\u0438\u043b\u0438\u043d'}${seconds == 0 ? '' : seconds == 1 ? ' 1 \u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += seconds += ' \u0441\u0435\u043a\u0443\u043d\u0434'}${millis == 0 ? '' : millis == 1 ? ' 1 \u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += millis += ' \u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434'}${nanos == 0 ? '' : nanos == 1 ? ' 1 \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += nanos += ' \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434'}
+org.hibernate.validator.constraints.time.DurationMin.message = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u043e\u0432\u0448\u0438\u0439${inclusive == true ? ' \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0438\u0439' : ''} \u0437\u0430${days == 0 ? '' : days == 1 ? ' 1 \u0434\u0435\u043d\u044c' : ' ' += days += ' \u0434\u043d\u0456\u0432'}${hours == 0 ? '' : hours == 1 ? ' 1 \u0433\u043e\u0434\u0438\u043d\u0430' : ' ' += hours += ' \u0433\u043e\u0434\u0438\u043d'}${minutes == 0 ? '' : minutes == 1 ? ' 1 \u0445\u0432\u0438\u043b\u0438\u043d\u0430' : ' ' += minutes += ' \u0445\u0432\u0438\u043b\u0438\u043d'}${seconds == 0 ? '' : seconds == 1 ? ' 1 \u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += seconds += ' \u0441\u0435\u043a\u0443\u043d\u0434'}${millis == 0 ? '' : millis == 1 ? ' 1 \u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += millis += ' \u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434'}${nanos == 0 ? '' : nanos == 1 ? ' 1 \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u0430' : ' ' += nanos += ' \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434'}
+
+org.hibernate.validator.constraints.BitcoinAddress.message.single = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u043e\u044e \u0431\u0456\u0442\u043a\u043e\u0439\u043d\u002d\u0430\u0434\u0440\u0435\u0441\u043e\u044e \u0434\u043b\u044f \u0442\u0438\u043f\u0443:
+org.hibernate.validator.constraints.BitcoinAddress.message.multiple = \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u043e\u044e \u0431\u0456\u0442\u043a\u043e\u0439\u043d\u002d\u0430\u0434\u0440\u0435\u0441\u043e\u044e \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0437 \u0442\u0438\u043f\u0456\u0432:
+
+org.hibernate.validator.constraints.BitcoinAddress.type.p2pkh = \u0417\u0430\u0441\u0442\u0430\u0440\u0456\u043b\u0438\u0439 (P2PKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2sh = \u0412\u043a\u043b\u0430\u0434\u0435\u043d\u0438\u0439 SegWit (P2SH)
+org.hibernate.validator.constraints.BitcoinAddress.type.bech32 = \u0420\u0456\u0434\u043d\u0438\u0439 SegWit (Bech32)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wsh = SegWit \u0432\u0430\u0440\u0456\u0430\u043d\u0442 P2SH (P2WSH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2wpkh = SegWit \u0432\u0430\u0440\u0456\u0430\u043d\u0442 P2PKH (P2WPKH)
+org.hibernate.validator.constraints.BitcoinAddress.type.p2tr = Taproot (P2TR)
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh.properties
new file mode 100644
index 00000000000..217dca565ad
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh.properties
@@ -0,0 +1,48 @@
+jakarta.validation.constraints.AssertFalse.message = \u5fc5\u987b\u4e3a false
+jakarta.validation.constraints.AssertTrue.message = \u5fc5\u987b\u4e3a true
+jakarta.validation.constraints.DecimalMax.message = \u5fc5\u987b\u5c0f\u4e8e ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u5fc5\u987b\u5927\u4e8e ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u6570\u5b57\u503c\u8d85\u51fa\u4e86\u8fb9\u754c\uff08\u671f\u671b <{integer} digits>.<{fraction} digits>\uff09
+jakarta.validation.constraints.Email.message = \u5fc5\u987b\u4e3a\u683c\u5f0f\u89c4\u8303\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740
+jakarta.validation.constraints.Future.message = \u5fc5\u987b\u662f\u672a\u6765\u7684\u65e5\u671f
+jakarta.validation.constraints.FutureOrPresent.message = \u5fc5\u987b\u662f\u73b0\u5728\u6216\u5c06\u6765\u7684\u65e5\u671f
+jakarta.validation.constraints.Max.message = \u5fc5\u987b\u5c0f\u4e8e\u6216\u7b49\u4e8e {value}
+jakarta.validation.constraints.Min.message = \u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e {value}
+jakarta.validation.constraints.Negative.message = \u5fc5\u987b\u5c0f\u4e8e 0
+jakarta.validation.constraints.NegativeOrZero.message = \u5fc5\u987b\u5c0f\u4e8e\u6216\u7b49\u4e8e 0
+jakarta.validation.constraints.NotBlank.message = \u4e0d\u5f97\u4e3a\u7a7a\u767d
+jakarta.validation.constraints.NotEmpty.message = \u4e0d\u5f97\u4e3a\u7a7a
+jakarta.validation.constraints.NotNull.message = \u4e0d\u5f97\u4e3a null
+jakarta.validation.constraints.Null.message = \u5fc5\u987b\u4e3a null
+jakarta.validation.constraints.Past.message = \u5fc5\u987b\u662f\u8fc7\u53bb\u7684\u65e5\u671f
+jakarta.validation.constraints.PastOrPresent.message = \u5fc5\u987b\u662f\u8fc7\u53bb\u6216\u73b0\u5728\u7684\u65e5\u671f
+jakarta.validation.constraints.Pattern.message = \u5fc5\u987b\u4e0e "{regexp}" \u5339\u914d
+jakarta.validation.constraints.Positive.message = \u5fc5\u987b\u5927\u4e8e 0
+jakarta.validation.constraints.PositiveOrZero.message = \u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e 0
+jakarta.validation.constraints.Size.message = \u5927\u5c0f\u5fc5\u987b\u5728 {min} \u548c {max} \u4e4b\u95f4
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u65e0\u6548\u4fe1\u7528\u5361\u5361\u53f7
+org.hibernate.validator.constraints.Currency.message = \u65e0\u6548\u8d27\u5e01\uff08\u5fc5\u987b\u4e3a {value} \u4e4b\u4e00\uff09
+org.hibernate.validator.constraints.EAN.message = \u65e0\u6548 {type} \u6761\u5f62\u7801
+org.hibernate.validator.constraints.ISBN.message = \u65e0\u6548 ISBN
+org.hibernate.validator.constraints.Length.message = \u957f\u5ea6\u5fc5\u987b\u4ecb\u4e8e {min} \u4e0e {max} \u4e4b\u95f4
+org.hibernate.validator.constraints.CodePointLength.message = \u957f\u5ea6\u5fc5\u987b\u4ecb\u4e8e {min} \u4e0e {max} \u4e4b\u95f4
+org.hibernate.validator.constraints.LuhnCheck.message = ${validatedValue} \u7684\u6821\u9a8c\u4f4d\u65e0\u6548\uff0cLuhn Modulo 10 \u6821\u9a8c\u548c\u5931\u8d25
+org.hibernate.validator.constraints.Mod10Check.message = ${validatedValue} \u7684\u6821\u9a8c\u4f4d\u65e0\u6548\uff0cModulo 10 \u6821\u9a8c\u548c\u5931\u8d25
+org.hibernate.validator.constraints.Mod11Check.message = ${validatedValue} \u7684\u6821\u9a8c\u4f4d\u65e0\u6548\uff0cModulo 11 \u6821\u9a8c\u548c\u5931\u8d25
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u811a\u672c\u8868\u8fbe\u5f0f "{script}" \u672a\u6c42\u503c\u4e3a true
+org.hibernate.validator.constraints.Range.message = \u5fc5\u987b\u4ecb\u4e8e {min} \u4e0e {max} \u4e4b\u95f4
+org.hibernate.validator.constraints.ScriptAssert.message = \u811a\u672c\u8868\u8fbe\u5f0f "{script}" \u672a\u6c42\u503c\u4e3a true
+org.hibernate.validator.constraints.UniqueElements.message = \u5fc5\u987b\u4ec5\u5305\u542b\u552f\u4e00\u5143\u7d20
+org.hibernate.validator.constraints.URL.message = \u5fc5\u987b\u4e3a\u6709\u6548 URL
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u65e0\u6548\u5df4\u897f\u4f01\u4e1a\u7eb3\u7a0e\u4eba\u767b\u8bb0\u53f7 (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = \u65e0\u6548\u5df4\u897f\u4e2a\u4eba\u7eb3\u7a0e\u4eba\u767b\u8bb0\u53f7 (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u65e0\u6548\u5df4\u897f\u6295\u7968\u4eba\u8eab\u4efd\u8bc1\u53f7
+
+org.hibernate.validator.constraints.pl.REGON.message = \u65e0\u6548\u6ce2\u5170\u7eb3\u7a0e\u4eba\u8bc6\u522b\u53f7 (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = \u65e0\u6548 VAT \u8bc6\u522b\u53f7 (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = \u65e0\u6548\u6ce2\u5170\u8eab\u4efd\u8bc1\u53f7 (PESEL)
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u5fc5\u987b\u77ed\u4e8e ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = \u5fc5\u987b\u957f\u4e8e ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_CN.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_CN.properties
new file mode 100644
index 00000000000..316d8c8424e
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_CN.properties
@@ -0,0 +1,38 @@
+jakarta.validation.constraints.AssertFalse.message = \u53ea\u80fd\u4e3afalse
+jakarta.validation.constraints.AssertTrue.message = \u53ea\u80fd\u4e3atrue
+jakarta.validation.constraints.DecimalMax.message = \u5FC5\u987B\u5C0F\u4E8E${inclusive == true ? '\u6216\u7B49\u4E8E' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u5FC5\u987B\u5927\u4E8E${inclusive == true ? '\u6216\u7B49\u4E8E' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u6570\u5b57\u7684\u503c\u8d85\u51fa\u4e86\u5141\u8bb8\u8303\u56f4(\u53ea\u5141\u8bb8\u5728{integer}\u4f4d\u6574\u6570\u548c{fraction}\u4f4d\u5c0f\u6570\u8303\u56f4\u5185)
+jakarta.validation.constraints.Email.message = \u4e0d\u662f\u4e00\u4e2a\u5408\u6cd5\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740
+jakarta.validation.constraints.Future.message = \u9700\u8981\u662f\u4e00\u4e2a\u5c06\u6765\u7684\u65f6\u95f4
+jakarta.validation.constraints.FutureOrPresent.message = \u9700\u8981\u662f\u4e00\u4e2a\u5c06\u6765\u6216\u73b0\u5728\u7684\u65f6\u95f4
+jakarta.validation.constraints.Max.message = \u6700\u5927\u4e0d\u80fd\u8d85\u8fc7{value}
+jakarta.validation.constraints.Min.message = \u6700\u5c0f\u4e0d\u80fd\u5c0f\u4e8e{value}
+jakarta.validation.constraints.Negative.message = \u5fc5\u987b\u662f\u8d1f\u6570
+jakarta.validation.constraints.NegativeOrZero.message = \u5fc5\u987b\u662f\u8d1f\u6570\u6216\u96f6
+jakarta.validation.constraints.NotBlank.message = \u4e0d\u80fd\u4e3a\u7a7a
+jakarta.validation.constraints.NotEmpty.message = \u4e0d\u80fd\u4e3a\u7a7a
+jakarta.validation.constraints.NotNull.message = \u4e0d\u80fd\u4e3anull
+jakarta.validation.constraints.Null.message = \u5fc5\u987b\u4e3anull
+jakarta.validation.constraints.Past.message = \u9700\u8981\u662f\u4e00\u4e2a\u8fc7\u53bb\u7684\u65f6\u95f4
+jakarta.validation.constraints.PastOrPresent.message = \u9700\u8981\u662f\u4e00\u4e2a\u8fc7\u53bb\u6216\u73b0\u5728\u7684\u65f6\u95f4
+jakarta.validation.constraints.Pattern.message = \u9700\u8981\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f"{regexp}"
+jakarta.validation.constraints.Positive.message = \u5fc5\u987b\u662f\u6b63\u6570
+jakarta.validation.constraints.PositiveOrZero.message = \u5fc5\u987b\u662f\u6b63\u6570\u6216\u96f6
+jakarta.validation.constraints.Size.message = \u4e2a\u6570\u5fc5\u987b\u5728{min}\u548c{max}\u4e4b\u95f4
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u4e0d\u5408\u6cd5\u7684\u4fe1\u7528\u5361\u53f7\u7801
+org.hibernate.validator.constraints.Currency.message = \u4e0d\u5408\u6cd5\u7684\u8d27\u5e01 (\u5fc5\u987b\u662f{value}\u5176\u4e2d\u4e4b\u4e00)
+org.hibernate.validator.constraints.EAN.message = \u4e0d\u5408\u6cd5\u7684{type}\u6761\u5f62\u7801
+org.hibernate.validator.constraints.Length.message = \u957f\u5ea6\u9700\u8981\u5728{min}\u548c{max}\u4e4b\u95f4
+org.hibernate.validator.constraints.CodePointLength.message = \u957f\u5ea6\u9700\u8981\u5728{min}\u548c{max}\u4e4b\u95f4
+org.hibernate.validator.constraints.LuhnCheck.message = ${validatedValue}\u7684\u6821\u9a8c\u7801\u4e0d\u5408\u6cd5, Luhn\u6a2110\u6821\u9a8c\u548c\u4e0d\u5339\u914d
+org.hibernate.validator.constraints.Mod10Check.message = ${validatedValue}\u7684\u6821\u9a8c\u7801\u4e0d\u5408\u6cd5, \u6a2110\u6821\u9a8c\u548c\u4e0d\u5339\u914d
+org.hibernate.validator.constraints.Mod11Check.message = ${validatedValue}\u7684\u6821\u9a8c\u7801\u4e0d\u5408\u6cd5, \u6a2111\u6821\u9a8c\u548c\u4e0d\u5339\u914d
+org.hibernate.validator.constraints.ParametersScriptAssert.message = \u6267\u884c\u811a\u672c\u8868\u8fbe\u5f0f"{script}"\u6ca1\u6709\u8fd4\u56de\u671f\u671b\u7ed3\u679c
+org.hibernate.validator.constraints.Range.message = \u9700\u8981\u5728{min}\u548c{max}\u4e4b\u95f4
+org.hibernate.validator.constraints.ScriptAssert.message = \u6267\u884c\u811a\u672c\u8868\u8fbe\u5f0f"{script}"\u6ca1\u6709\u8fd4\u56de\u671f\u671b\u7ed3\u679c
+org.hibernate.validator.constraints.URL.message = \u9700\u8981\u662f\u4e00\u4e2a\u5408\u6cd5\u7684URL
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u5fc5\u987b\u5c0f\u4e8e${inclusive == true ? '\u6216\u7b49\u4e8e' : ''}${days == 0 ? '' : days += '\u5929'}${hours == 0 ? '' : hours += '\u5c0f\u65f6'}${minutes == 0 ? '' : minutes += '\u5206\u949f'}${seconds == 0 ? '' : seconds += '\u79d2'}${millis == 0 ? '' : millis += '\u6beb\u79d2'}${nanos == 0 ? '' : nanos += '\u7eb3\u79d2'}
+org.hibernate.validator.constraints.time.DurationMin.message = \u5fc5\u987b\u5927\u4e8e${inclusive == true ? '\u6216\u7b49\u4e8e' : ''}${days == 0 ? '' : days += '\u5929'}${hours == 0 ? '' : hours += '\u5c0f\u65f6'}${minutes == 0 ? '' : minutes += '\u5206\u949f'}${seconds == 0 ? '' : seconds += '\u79d2'}${millis == 0 ? '' : millis += '\u6beb\u79d2'}${nanos == 0 ? '' : nanos += '\u7eb3\u79d2'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_TW.properties b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_TW.properties
new file mode 100644
index 00000000000..9c3910cd33c
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/resources/org/hibernate/validator/ValidationMessages_zh_TW.properties
@@ -0,0 +1,48 @@
+jakarta.validation.constraints.AssertFalse.message = \u5fc5\u9808\u662f false
+jakarta.validation.constraints.AssertTrue.message = \u5fc5\u9808\u662f true
+jakarta.validation.constraints.DecimalMax.message = \u5fc5\u9808\u5c0f\u65bc ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.DecimalMin.message = \u5fc5\u9808\u5927\u65bc ${inclusive == true ? 'or equal to ' : ''}{value}
+jakarta.validation.constraints.Digits.message = \u6578\u503c\u8d85\u51fa\u7bc4\u570d\uff08\u9810\u671f\u70ba <{integer} digits>.<{fraction} digits>\uff09
+jakarta.validation.constraints.Email.message = \u5fc5\u9808\u662f\u5f62\u5f0f\u5b8c\u6574\u7684\u96fb\u5b50\u90f5\u4ef6\u4f4d\u5740
+jakarta.validation.constraints.Future.message = \u5fc5\u9808\u662f\u672a\u4f86\u7684\u65e5\u671f
+jakarta.validation.constraints.FutureOrPresent.message = \u5fc5\u9808\u662f\u7576\u5929\u6216\u672a\u4f86\u7684\u65e5\u671f
+jakarta.validation.constraints.Max.message = \u5fc5\u9808\u5c0f\u65bc\u6216\u7b49\u65bc {value}
+jakarta.validation.constraints.Min.message = \u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc {value}
+jakarta.validation.constraints.Negative.message = \u5fc5\u9808\u5c0f\u65bc 0
+jakarta.validation.constraints.NegativeOrZero.message = \u5fc5\u9808\u5c0f\u65bc\u6216\u7b49\u65bc 0
+jakarta.validation.constraints.NotBlank.message = \u4e0d\u5f97\u7a7a\u767d
+jakarta.validation.constraints.NotEmpty.message = \u4e0d\u5f97\u662f\u7a7a\u7684
+jakarta.validation.constraints.NotNull.message = \u4e0d\u5f97\u662f\u7a7a\u503c
+jakarta.validation.constraints.Null.message = \u5fc5\u9808\u662f\u7a7a\u503c
+jakarta.validation.constraints.Past.message = \u5fc5\u9808\u662f\u904e\u53bb\u7684\u65e5\u671f
+jakarta.validation.constraints.PastOrPresent.message = \u5fc5\u9808\u662f\u904e\u53bb\u6216\u7576\u5929\u7684\u65e5\u671f
+jakarta.validation.constraints.Pattern.message = \u5fc5\u9808\u7b26\u5408 "{regexp}"
+jakarta.validation.constraints.Positive.message = \u5fc5\u9808\u5927\u65bc 0
+jakarta.validation.constraints.PositiveOrZero.message = \u5fc5\u9808\u5927\u65bc\u6216\u7b49\u65bc 0
+jakarta.validation.constraints.Size.message = \u5927\u5c0f\u5fc5\u9808\u5728 {min} \u548c {max} \u4e4b\u9593
+
+org.hibernate.validator.constraints.CreditCardNumber.message = \u7121\u6548\u7684\u4fe1\u7528\u5361\u5361\u865f
+org.hibernate.validator.constraints.Currency.message = \u7121\u6548\u7684\u8ca8\u5e63\uff08\u5fc5\u9808\u662f {value} \u4e4b\u4e00\uff09
+org.hibernate.validator.constraints.EAN.message = \u7121\u6548\u7684 {type} \u689d\u78bc
+org.hibernate.validator.constraints.ISBN.message = \u7121\u6548\u7684 ISBN
+org.hibernate.validator.constraints.Length.message = \u9577\u5ea6\u5fc5\u9808\u5728 {min} \u548c {max} \u4e4b\u9593
+org.hibernate.validator.constraints.CodePointLength.message = \u9577\u5ea6\u5fc5\u9808\u5728 {min} \u548c {max} \u4e4b\u9593
+org.hibernate.validator.constraints.LuhnCheck.message = ${validatedValue} \u7684\u6aa2\u67e5\u78bc\u7121\u6548\uff0cLuhn \u6a21\u6578 10 \u7e3d\u548c\u6aa2\u67e5\u5931\u6557
+org.hibernate.validator.constraints.Mod10Check.message = ${validatedValue} \u7684\u6aa2\u67e5\u78bc\u7121\u6548\uff0c\u6a21\u6578 10 \u7e3d\u548c\u6aa2\u67e5\u5931\u6557
+org.hibernate.validator.constraints.Mod11Check.message = ${validatedValue} \u7684\u6aa2\u67e5\u78bc\u7121\u6548\uff0c\u6a21\u6578 11 \u7e3d\u548c\u6aa2\u67e5\u5931\u6557
+org.hibernate.validator.constraints.ParametersScriptAssert.message = Script \u8868\u793a\u5f0f "{script}" \u4e0d\u662f\u6c42\u503c\u70ba true
+org.hibernate.validator.constraints.Range.message = \u5fc5\u9808\u5728 {min} \u548c {max} \u4e4b\u9593
+org.hibernate.validator.constraints.ScriptAssert.message = Script \u8868\u793a\u5f0f "{script}" \u4e0d\u662f\u6c42\u503c\u70ba true
+org.hibernate.validator.constraints.UniqueElements.message = \u53ea\u80fd\u5305\u542b\u552f\u4e00\u5143\u7d20
+org.hibernate.validator.constraints.URL.message = \u5fc5\u9808\u662f\u6709\u6548\u7684 URL
+
+org.hibernate.validator.constraints.br.CNPJ.message = \u7121\u6548\u7684\u5df4\u897f\u516c\u53f8\u7d0d\u7a05\u767b\u9304\u78bc (CNPJ)
+org.hibernate.validator.constraints.br.CPF.message = \u7121\u6548\u7684\u5df4\u897f\u500b\u4eba\u7d0d\u7a05\u767b\u9304\u78bc (CPF)
+org.hibernate.validator.constraints.br.TituloEleitoral.message = \u7121\u6548\u7684\u5df4\u897f\u9078\u6c11 ID \u5361\u865f
+
+org.hibernate.validator.constraints.pl.REGON.message = \u7121\u6548\u7684\u6ce2\u862d\u7d0d\u7a05\u4eba\u8b58\u5225\u78bc (REGON)
+org.hibernate.validator.constraints.pl.NIP.message = \u7121\u6548\u7684 VAT \u8b58\u5225\u78bc (NIP)
+org.hibernate.validator.constraints.pl.PESEL.message = \u7121\u6548\u7684\u6ce2\u862d\u570b\u5bb6\u8b58\u5225\u78bc (PESEL)
+
+org.hibernate.validator.constraints.time.DurationMax.message = \u5fc5\u9808\u77ed\u65bc ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
+org.hibernate.validator.constraints.time.DurationMin.message = \u5fc5\u9808\u9577\u65bc ${inclusive == true ? ' or equal to' : ''}${days == 0 ? '' : days == 1 ? ' 1 day' : ' ' += days += ' days'}${hours == 0 ? '' : hours == 1 ? ' 1 hour' : ' ' += hours += ' hours'}${minutes == 0 ? '' : minutes == 1 ? ' 1 minute' : ' ' += minutes += ' minutes'}${seconds == 0 ? '' : seconds == 1 ? ' 1 second' : ' ' += seconds += ' seconds'}${millis == 0 ? '' : millis == 1 ? ' 1 milli' : ' ' += millis += ' millis'}${nanos == 0 ? '' : nanos == 1 ? ' 1 nano' : ' ' += nanos += ' nanos'}
diff --git a/dev/io.openliberty.org.hibernate.validator.9.0/test/io/openliberty/org/hibernate/validator/HibernateValidatorMessageTest.java b/dev/io.openliberty.org.hibernate.validator.9.0/test/io/openliberty/org/hibernate/validator/HibernateValidatorMessageTest.java
new file mode 100644
index 00000000000..aba12631fbd
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.9.0/test/io/openliberty/org/hibernate/validator/HibernateValidatorMessageTest.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2024 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package io.openliberty.org.hibernate.validator;
+
+import test.common.OSSMessageTest;
+
+/**
+ * The purpose of this test is to ensure that we always pick up changes in Hibernate Validator NLS files so we can translate
+ * the changes into languages that OpenLiberty ships but Hibernate Validator does not.
+ * Currently OpenLiberty provides: cs, de, es, fr, hu, it, ja, ko, pl, pt_BR, ro, ru, zh_TW, zh
+ * Currently Hibernate Validator provides: ar, cs, da, de, en, es, fa, fr, hu, it, ja, ko, mn_MN, nl, pl, pt_BR, ro, ru, sk, tr, uk, zh_CN, zh_TW, zh
+ *
+ * This means that OpenLiberty must provide the following languages: none for Hibernate Validator 9
+ */
+public class HibernateValidatorMessageTest extends OSSMessageTest {
+
+ public HibernateValidatorMessageTest() {
+ super("hibernate-validator-9", "io.openliberty.org.hibernate.validator.9.0", "org/hibernate/validator/ValidationMessages.properties");
+ }
+
+}
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.classpath b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.classpath
new file mode 100644
index 00000000000..acdc050d206
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.project b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.project
new file mode 100644
index 00000000000..d78f6ce67b8
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.project
@@ -0,0 +1,23 @@
+
+
+ io.openliberty.org.hibernate.validator.cdi.9.0
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/bndtools.core.prefs b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/bndtools.core.prefs
new file mode 100644
index 00000000000..789fa99991a
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/bndtools.core.prefs
@@ -0,0 +1,2 @@
+compileErrorAction=build
+eclipse.preferences.version=1
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.core.resources.prefs b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..25d9425fe34
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.core.prefs b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..74e9bcde7c8
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,301 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=18
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.ui.prefs b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..58295b7d4cb
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,62 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n * \n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n// Do you need FFDC here? Remember FFDC instrumentation and @FFDCIgnore\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.bnd b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.bnd
new file mode 100644
index 00000000000..72cc9594a75
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.bnd
@@ -0,0 +1,24 @@
+#*******************************************************************************
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+#*******************************************************************************
+-include= jar:${fileuri;${repo;org.hibernate.validator:hibernate-validator-cdi;9.0.0.Beta3;EXACT}}!/META-INF/MANIFEST.MF,bnd.overrides
+
+instrument.disabled: true
+
+-buildpath: \
+ org.hibernate.validator:hibernate-validator;version=9.0.0.Beta3,\
+ org.hibernate.validator:hibernate-validator-cdi;version=9.0.0.Beta3
+
+javac.source: 17
+javac.target: 17
+
+Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.overrides b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.overrides
new file mode 100644
index 00000000000..2799fce6c2c
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/bnd.overrides
@@ -0,0 +1,20 @@
+-include= ~../cnf/resources/bnd/rejar.props
+
+bVersion=1.0
+Bundle-SymbolicName: io.openliberty.org.hibernate.validator.cdi.9.0
+
+# Something that wildfly/thorntail apparently uses but blows up on Liberty
+Fragment-Host:
+
+Import-Package: \
+ org.apache.el,\
+ *
+
+Export-Package: \
+ org.hibernate.validator.cdi.*;version="9.0.0.Beta3"
+
+Include-Resource: \
+ @${repo;org.hibernate.validator:hibernate-validator-cdi;9.0.0.Beta3;EXACT}!/META-INF/services/*,\
+ META-INF=resources/META-INF
+
+-cdiannotations:
\ No newline at end of file
diff --git a/dev/io.openliberty.org.hibernate.validator.cdi.9.0/resources/META-INF/beans.xml b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/resources/META-INF/beans.xml
new file mode 100644
index 00000000000..a4452812dd1
--- /dev/null
+++ b/dev/io.openliberty.org.hibernate.validator.cdi.9.0/resources/META-INF/beans.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/dev/io.openliberty.org.jboss.logging36/.classpath b/dev/io.openliberty.org.jboss.logging36/.classpath
new file mode 100644
index 00000000000..4d57da697b8
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/io.openliberty.org.jboss.logging36/.gitignore b/dev/io.openliberty.org.jboss.logging36/.gitignore
new file mode 100644
index 00000000000..57b341172a1
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/generated/
diff --git a/dev/io.openliberty.org.jboss.logging36/.project b/dev/io.openliberty.org.jboss.logging36/.project
new file mode 100644
index 00000000000..069b721e719
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.project
@@ -0,0 +1,23 @@
+
+
+ io.openliberty.org.jboss.logging36
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ bndtools.core.bndbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ bndtools.core.bndnature
+
+
diff --git a/dev/io.openliberty.org.jboss.logging36/.settings/bndtools.core.prefs b/dev/io.openliberty.org.jboss.logging36/.settings/bndtools.core.prefs
new file mode 100644
index 00000000000..789fa99991a
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.settings/bndtools.core.prefs
@@ -0,0 +1,2 @@
+compileErrorAction=build
+eclipse.preferences.version=1
diff --git a/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.core.resources.prefs b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..169aea7eabe
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Wed Aug 17 16:19:12 BST 2011
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.core.prefs b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f9c8a44d54b
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,315 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=2
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=2
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=18
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=4
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=180
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=180
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.ui.prefs b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..71d0b698214
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,116 @@
+#Ant properties
+#Automatically generated by the ant prepare.settings.files task
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.add_missing_nls_tags=false
+org.eclipse.jdt.ui.staticondemandthreshold=99
+cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_blocks=false
+sp_cleanup.make_private_fields_final=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.remove_private_constructors=true
+sp_cleanup.never_use_parentheses_in_expressions=true
+cleanup.remove_unnecessary_casts=true
+sp_cleanup.organize_imports=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.remove_unused_private_fields=true
+org.eclipse.jdt.ui.text.custom_code_templates=/**\n *\n * ${tags}\n *//**\n * ${tags}\n * ${see_to_target}\n *//**\n * ${tags}\n *//** *//**\n * ${tags}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n * \n * SPDX-License-Identifier: EPL-2.0\n *******************************************************************************//** {@inheritDoc} *//**\n * @return the ${bare_field_name}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n// Do you need FFDC here? Remember FFDC instrumentation and @FFDCIgnore\n// https\://websphere.pok.ibm.com/~liberty/secure/docs/dev/API/com.ibm.ws.ras/com/ibm/ws/ffdc/annotation/FFDCIgnore.html\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.use_parentheses_in_expressions=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.correct_indentation=true
+cleanup.make_private_fields_final=false
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.correct_indentation=false
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_this_for_non_static_field_access=false
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+org.eclipse.jdt.ui.exception.name=e
+sp_cleanup.format_source_code=true
+org.eclipse.jdt.ui.javadoc=true
+cleanup.format_source_code=false
+cleanup.remove_unused_imports=true
+cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.remove_unused_private_methods=true
+cleanup.add_missing_annotations=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_private_methods=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.sort_members=false
+sp_cleanup.use_parentheses_in_expressions=false
+cleanup.add_missing_override_annotations=true
+org.eclipse.jdt.ui.gettersetter.use.is=false
+cleanup.convert_to_enhanced_for_loop=false
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+org.eclipse.jdt.ui.overrideannotation=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.add_missing_annotations=true
+cleanup.make_variable_declarations_final=false
+cleanup.remove_unused_private_types=true
+cleanup.use_blocks=true
+cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.remove_unused_imports=true
+cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.convert_to_enhanced_for_loop=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.sort_members=false
+sp_cleanup.remove_unused_private_members=false
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+cleanup.remove_unused_private_members=false
+sp_cleanup.format_source_code_changes_only=false
+cleanup.never_use_blocks=false
+cleanup.organize_imports=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_generated_serial_version_id=false
+cleanup.make_parameters_final=true
+org.eclipse.jdt.ui.keywordthis=false
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.always_use_blocks=true
+cleanup.add_serial_version_id=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.always_use_blocks=true
+cleanup.remove_unused_local_variables=false
+cleanup.sort_members_all=false
+sp_cleanup.remove_trailing_whitespaces=true
+cleanup.format_source_code_changes_only=false
+cleanup.add_generated_serial_version_id=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_local_variable_final=false
+cleanup.make_local_variable_final=false
+sp_cleanup.add_serial_version_id=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.add_default_serial_version_id=false
+cleanup.add_missing_methods=false
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.add_missing_methods=false
diff --git a/dev/io.openliberty.org.jboss.logging36/bnd.bnd b/dev/io.openliberty.org.jboss.logging36/bnd.bnd
new file mode 100644
index 00000000000..3559a9dc71a
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/bnd.bnd
@@ -0,0 +1,32 @@
+#*******************************************************************************
+# Copyright (c) 2024 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+#*******************************************************************************
+-include= ~../cnf/resources/bnd/bundle.props
+bVersion=1.0
+
+-include= jar:${fileuri;${repo;org.jboss.logging:jboss-logging;3.6.0.Final;EXACT}}!/META-INF/MANIFEST.MF,bnd.overrides
+
+javac.source: 17
+javac.target: 17
+
+Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=17))"
+
+Bundle-SymbolicName: io.openliberty.org.jboss.logging36; singleton:=true
+
+-includeresource: \
+ @${repo;org.jboss.logging:jboss-logging;3.6.0.Final;EXACT}!/!module-info.class
+
+instrument.disabled: true
+
+-buildpath: \
+ org.jboss.logging:jboss-logging;version=3.6.0.Final, \
+ com.ibm.ws.org.osgi.annotation.versioning;version=latest
diff --git a/dev/io.openliberty.org.jboss.logging36/bnd.overrides b/dev/io.openliberty.org.jboss.logging36/bnd.overrides
new file mode 100644
index 00000000000..f01eb12aa6a
--- /dev/null
+++ b/dev/io.openliberty.org.jboss.logging36/bnd.overrides
@@ -0,0 +1,8 @@
+bVersion=1.0
+
+Bundle-SymbolicName: io.openliberty.org.jboss.logging36; singleton:=true
+
+-include= -../generated.build.id, -liberty-release.props
+bFullVersion=${version;==;${bVersion}}.${libertyBundleMicroVersion}
+Build-Identifier: SNAPSHOT-${now}
+Bundle-Version: ${bFullVersion}.${if;${driver;gradle};${version.qualifier};eclipse}
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10.properties
index 310c0db0a41..30c535bd848 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[7.0,9)
+org.hibernate.validator.cdi=[7.0,9)
+org.hibernate.validator.cdi.internal=[7.0,9)
+org.hibernate.validator.internal=[7.0,9)
+org.hibernate.validator.internal.engine.valueextraction=[7.0,9)
+org.hibernate.validator.internal.properties=[7.0,9)
+org.hibernate.validator.internal.util=[7.0,9)
+org.hibernate.validator.internal.util.classhierarchy=[7.0,9)
+org.hibernate.validator.internal.util.logging=[7.0,9)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[7.0,9)
+org.hibernate.validator.spi.properties=[7.0,9)
org.jboss.weld=[5.0,6)
org.jboss.weld.annotated.enhanced=[5.0,6)
org.jboss.weld.bean=[5.0,6)
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10plus.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10plus.properties
index d03b3b0a22b..67aee60d5df 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10plus.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee10plus.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[7.0,10)
+org.hibernate.validator.cdi=[7.0,10)
+org.hibernate.validator.cdi.internal=[7.0,10)
+org.hibernate.validator.internal=[7.0,10)
+org.hibernate.validator.internal.engine.valueextraction=[7.0,10)
+org.hibernate.validator.internal.properties=[7.0,10)
+org.hibernate.validator.internal.util=[7.0,10)
+org.hibernate.validator.internal.util.classhierarchy=[7.0,10)
+org.hibernate.validator.internal.util.logging=[7.0,10)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[7.0,10)
+org.hibernate.validator.spi.properties=[7.0,10)
org.jboss.weld=[5.0,7)
org.jboss.weld.annotated.enhanced=[5.0,7)
org.jboss.weld.bean=[5.0,7)
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee11.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee11.properties
index e34be86c226..d9d77638234 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee11.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee11.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[9.0,10)
+org.hibernate.validator.cdi=[9.0,10)
+org.hibernate.validator.cdi.internal=[9.0,10)
+org.hibernate.validator.internal=[9.0,10)
+org.hibernate.validator.internal.engine.valueextraction=[9.0,10)
+org.hibernate.validator.internal.properties=[9.0,10)
+org.hibernate.validator.internal.util=[9.0,10)
+org.hibernate.validator.internal.util.classhierarchy=[9.0,10)
+org.hibernate.validator.internal.util.logging=[9.0,10)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[9.0,10)
+org.hibernate.validator.spi.properties=[9.0,10)
org.jboss.weld=[6.0,7)
org.jboss.weld.annotated.enhanced=[6.0,7)
org.jboss.weld.bean=[6.0,7)
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9.properties
index 1c2b1ed9351..50310b42259 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[7.0,9)
+org.hibernate.validator.cdi=[7.0,9)
+org.hibernate.validator.cdi.internal=[7.0,9)
+org.hibernate.validator.internal=[7.0,9)
+org.hibernate.validator.internal.engine.valueextraction=[7.0,9)
+org.hibernate.validator.internal.properties=[7.0,9)
+org.hibernate.validator.internal.util=[7.0,9)
+org.hibernate.validator.internal.util.classhierarchy=[7.0,9)
+org.hibernate.validator.internal.util.logging=[7.0,9)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[7.0,9)
+org.hibernate.validator.spi.properties=[7.0,9)
org.jboss.weld=[4.0,5)
org.jboss.weld.annotated.enhanced=[4.0,5)
org.jboss.weld.bean=[4.0,5)
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9and10.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9and10.properties
index 82dddc81097..770190a36f0 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9and10.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions-ee9and10.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[7.0,9)
+org.hibernate.validator.cdi=[7.0,9)
+org.hibernate.validator.cdi.internal=[7.0,9)
+org.hibernate.validator.internal=[7.0,9)
+org.hibernate.validator.internal.engine.valueextraction=[7.0,9)
+org.hibernate.validator.internal.properties=[7.0,9)
+org.hibernate.validator.internal.util=[7.0,9)
+org.hibernate.validator.internal.util.classhierarchy=[7.0,9)
+org.hibernate.validator.internal.util.logging=[7.0,9)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[7.0,9)
+org.hibernate.validator.spi.properties=[7.0,9)
org.jboss.weld=[4.0,6)
org.jboss.weld.annotated.enhanced=[4.0,6)
org.jboss.weld.bean=[4.0,6)
diff --git a/dev/wlp-jakartaee-transform/rules/jakarta-versions.properties b/dev/wlp-jakartaee-transform/rules/jakarta-versions.properties
index 70bdabdca00..cbee96c7dad 100644
--- a/dev/wlp-jakartaee-transform/rules/jakarta-versions.properties
+++ b/dev/wlp-jakartaee-transform/rules/jakarta-versions.properties
@@ -217,18 +217,18 @@ org.glassfish.jaxb.runtime.v2.runtime.unmarshaller=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen=[3.0,4)
org.glassfish.jaxb.runtime.v2.schemagen.xmlschema=[3.0,4)
org.glassfish.jaxb.runtime.v2.util=[3.0,4)
-org.hibernate.validator=[7.0,8)
-org.hibernate.validator.cdi=[7.0,8)
-org.hibernate.validator.cdi.internal=[7.0,8)
-org.hibernate.validator.internal=[7.0,8)
-org.hibernate.validator.internal.engine.valueextraction=[7.0,8)
-org.hibernate.validator.internal.properties=[7.0,8)
-org.hibernate.validator.internal.util=[7.0,8)
-org.hibernate.validator.internal.util.classhierarchy=[7.0,8)
-org.hibernate.validator.internal.util.logging=[7.0,8)
+org.hibernate.validator=[7.0,10)
+org.hibernate.validator.cdi=[7.0,10)
+org.hibernate.validator.cdi.internal=[7.0,10)
+org.hibernate.validator.internal=[7.0,10)
+org.hibernate.validator.internal.engine.valueextraction=[7.0,10)
+org.hibernate.validator.internal.properties=[7.0,10)
+org.hibernate.validator.internal.util=[7.0,10)
+org.hibernate.validator.internal.util.classhierarchy=[7.0,10)
+org.hibernate.validator.internal.util.logging=[7.0,10)
org.hibernate.validator.internal.util.privilegedactions=[7.0,8)
-org.hibernate.validator.messageinterpolation=[7.0,8)
-org.hibernate.validator.spi.properties=[7.0,8)
+org.hibernate.validator.messageinterpolation=[7.0,10)
+org.hibernate.validator.spi.properties=[7.0,10)
org.jboss.weld=[4.0,7)
org.jboss.weld.annotated.enhanced=[4.0,7)
org.jboss.weld.bean=[4.0,7)