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 3a7ebc5c771a..54a6b41f1120 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
@@ -2536,11 +2536,6 @@
org.eclipse.persistence.core3.0.2
-
- org.eclipse.persistence
- org.eclipse.persistence.core
- 4.0.0-M3
- org.eclipse.persistenceorg.eclipse.persistence.jpa.jpql
diff --git a/dev/cnf/oss_dependencies.maven b/dev/cnf/oss_dependencies.maven
index b11db0c9c1ed..55dff86671fa 100644
--- a/dev/cnf/oss_dependencies.maven
+++ b/dev/cnf/oss_dependencies.maven
@@ -503,7 +503,6 @@ org.eclipse.persistence:org.eclipse.persistence.antlr:2.7.10
org.eclipse.persistence:org.eclipse.persistence.asm:9.3.0
org.eclipse.persistence:org.eclipse.persistence.core:2.7.10
org.eclipse.persistence:org.eclipse.persistence.core:3.0.2
-org.eclipse.persistence:org.eclipse.persistence.core:4.0.0-M3
org.eclipse.persistence:org.eclipse.persistence.jpa.jpql:2.7.10
org.eclipse.persistence:org.eclipse.persistence.jpa.jpql:3.0.2
org.eclipse.persistence:org.eclipse.persistence.jpa.modelgen.processor:2.7.10
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/.classpath b/dev/io.openliberty.jakarta.xmlBinding.4.0/.classpath
index a662f9fe3fc1..95ed115d1a15 100644
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/.classpath
+++ b/dev/io.openliberty.jakarta.xmlBinding.4.0/.classpath
@@ -1,7 +1,10 @@
-
-
+
+
+
+
+
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/bnd.bnd b/dev/io.openliberty.jakarta.xmlBinding.4.0/bnd.bnd
index 658dfe655c34..3e5c7d5822ad 100644
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/bnd.bnd
+++ b/dev/io.openliberty.jakarta.xmlBinding.4.0/bnd.bnd
@@ -18,8 +18,7 @@ Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=11))"
Bundle-SymbolicName: io.openliberty.jakarta.xmlBinding.4.0; singleton:=true
-Export-Package: jakarta.xml.bind.*;thread-context=true;version="4.0", \
- io.openliberty.jakarta.xmlBinding.*;version="4.0"
+Export-Package: jakarta.xml.bind.*;thread-context=true;version="4.0"
Service-Component: \
io.openliberty.jakarta.xmlBinding._4_0_${replace;${bVersion};\\.;_}.ResourceProvider; \
@@ -39,11 +38,9 @@ DynamicImport-Package: \
org.glassfish.jaxb.*
Include-Resource:\
- @${repo;jakarta.xml.bind:jakarta.xml.bind-api;4.0.0;EXACT}!/!(META-INF/maven/*|module-info.class), \
- io/openliberty/jakarta=${bin}/io/openliberty/jakarta, \
- jakarta/xml/bind=${bin}/jakarta/xml/bind
+ @${repo;jakarta.xml.bind:jakarta.xml.bind-api;4.0.0;EXACT}!/!(META-INF/maven/*|module-info.class)
-instrument.classesExcludes: jakarta/**/*.class
+instrument.disabled: true
publish.wlp.jar.suffix: dev/api/spec
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/resources/io/openliberty/jakarta/xmlbinding/resources/JAXBMessages.nlsprops b/dev/io.openliberty.jakarta.xmlBinding.4.0/resources/io/openliberty/jakarta/xmlbinding/resources/JAXBMessages.nlsprops
deleted file mode 100644
index 2c2a4d9cce35..000000000000
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/resources/io/openliberty/jakarta/xmlbinding/resources/JAXBMessages.nlsprops
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2022 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-# NLS_MESSAGEFORMAT_ALL
-#
-#CMVCPATHNAME io.openliberty.jakarta.xmlbinding.4.0/resources/io/openliberty/jakarta/xmlbinding/resources/JAXBMessages.nlsprops
-#ISMESSAGEFILE TRUE
-#COMPONENTPREFIX CWWKW
-#COMPONENTNAMEFOR CWWKW WebSphere XML Binding Tools Code
-#RANGE 1400 - 1499
-#Message range shared with com.ibm.ws.jaxb.tools, com.ibm.ws.jaxb.tools.2.3, io.openliberty.xmlbinding.3.0.internal.tools, and io.openliberty.jakarta.xmlBinding.4.0
-#
-#NLS_MESSAGEFORMAT_VAR
-#NLS_ENCODING=UNICODE
-
-warning.property.map.jaxbcontextfactory.not.found=CWWKW1404W: The jakarta.xml.bind.JAXBContextFactory property was found in the Properties map and set to {0}, but the specified implementation cannot load. The default reference implementation will be used.
-warning.property.map.jaxbcontextfactory.not.found.explanation=The JAXBContextFactory property is set to an alternate implementation but the specified XML Binding implementation is not available on the application class path.
-warning.property.map.jaxbcontextfactory.not.found.useraction=Configure the alternate XML Binding implementation to be available to the application class path, or the default reference implementation will be used.
-
-warning.system.property.jaxbcontextfactory.not.found=CWWKW1405W: The specified System Property: jakarta.xml.bind.JAXBContextFactory is set to {0}, but is not available. The default value will be used. See {1}
-warning.system.property.jaxbcontextfactory.not.found.explanation=The JAXBContextFactory is set to an alternate implementation but the specified XML Binding implementation is not available on the application class path.
-warning.system.property.jaxbcontextfactory.not.found.useraction=Configure the alternate XML Binding implementation to be available to the application class path, or the default reference implementation will be used.
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbConstants.java b/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbConstants.java
deleted file mode 100644
index 72e3869e2d71..000000000000
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2022 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package io.openliberty.jakarta.xmlbinding;
-
-import java.util.ResourceBundle;
-
-public class JaxbConstants {
- public static final String TR_GROUP = "Jaxb";
-
- public static final String TR_RESOURCE_BUNDLE = "io.openliberty.jakarta.xmlbinding.resources.JAXBMessages";
-
- public static final String WARNING_PROPERTY_MAP_JAXBCONTEXTFACTORY = "warning.property.map.jaxbcontextfactory.not.found";
-
- public static final String WARNING_SYSTEM_PROPERTY_JAXBCONTEXTFACTORY = "warning.system.property.jaxbcontextfactory.not.found";
-
- public static final ResourceBundle messages = ResourceBundle.getBundle(TR_RESOURCE_BUNDLE);
-}
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbToolsUtil.java b/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbToolsUtil.java
deleted file mode 100644
index 4c6e38c6525d..000000000000
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/io/openliberty/jakarta/xmlbinding/JaxbToolsUtil.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2022 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package io.openliberty.jakarta.xmlbinding;
-
-/**
- * The general utility for io.openliberty.xmlbinding.tools projects.
- */
-public class JaxbToolsUtil {
- /**
- * get the localized message provided in the message files in the io.openliberty.xmlbinding.tools.
- *
- * @param msgKey
- * @return
- */
- public static String formatMessage(String msgKey) {
- String msg;
- try {
- msg = JaxbConstants.messages.getString(msgKey);
- } catch (Exception ex) {
- // no FFDC required
- return msgKey;
- }
-
- return msg;
- }
-}
diff --git a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/jakarta/xml/bind/ContextFinder.java b/dev/io.openliberty.jakarta.xmlBinding.4.0/src/jakarta/xml/bind/ContextFinder.java
deleted file mode 100644
index 7fc5537a9e42..000000000000
--- a/dev/io.openliberty.jakarta.xmlBinding.4.0/src/jakarta/xml/bind/ContextFinder.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
- * Copyright (c) 2003, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package jakarta.xml.bind;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.ibm.websphere.ras.Tr;
-import com.ibm.websphere.ras.TraceComponent;
-import com.ibm.websphere.ras.annotation.Trivial;
-import com.ibm.ws.ffdc.annotation.FFDCIgnore;
-
-import io.openliberty.jakarta.xmlbinding.JaxbConstants;
-import io.openliberty.jakarta.xmlbinding.JaxbToolsUtil;
-
-/**
- * This class is package private and therefore is not exposed as part of the
- * Jakarta XML Binding API.
- *
- * This code is designed to implement the XML Binding spec pluggability feature
- *
- * @author
Ryan Shoemaker, Sun Microsystems, Inc.
- * @see JAXBContext
- */
-class ContextFinder {
-
-
- // Liberty Change Start
- private static final TraceComponent tc = Tr.register(ContextFinder.class);
- // Liberty Change End
-
- private static final Logger logger;
-
- /**
- * When JAXB is in J2SE, rt.jar has to have a JAXB implementation.
- * However, rt.jar cannot have META-INF/services/jakarta.xml.bind.JAXBContext
- * because if it has, it will take precedence over any file that applications have
- * in their jar files.
- *
- *
- * When the user bundles his own Jakarta XML Binding implementation, we'd like to use it, and we
- * want the platform default to be used only when there's no other Jakarta XML Binding provider.
- *
- *
- * For this reason, we have to hard-code the class name into the API.
- */
- //XXX: should we define and rely on "default" in jakarta?
- static final String DEFAULT_FACTORY_CLASS = "org.glassfish.jaxb.runtime.v2.ContextFactory";
-
- static {
- logger = Logger.getLogger("jakarta.xml.bind");
- try {
- if (AccessController.doPrivileged(new GetPropertyAction("jaxb.debug")) != null) {
- // disconnect the logger from a bigger framework (if any)
- // and take the matters into our own hands
- logger.setUseParentHandlers(false);
- logger.setLevel(Level.ALL);
- ConsoleHandler handler = new ConsoleHandler();
- handler.setLevel(Level.ALL);
- logger.addHandler(handler);
- } else {
- // don't change the setting of this logger
- // to honor what other frameworks
- // have done on configurations.
- }
- } catch (Throwable t) {
- // just to be extra safe. in particular System.getProperty may throw
- // SecurityException.
- }
- }
-
- private static ServiceLoaderUtil.ExceptionHandler EXCEPTION_HANDLER =
- new ServiceLoaderUtil.ExceptionHandler() {
- @Override
- public JAXBException createException(Throwable throwable, String message) {
- return new JAXBException(message, throwable);
- }
- };
-
- /**
- * If the {@link InvocationTargetException} wraps an exception that shouldn't be wrapped,
- * throw the wrapped exception. Otherwise returns exception to be wrapped for further processing.
- */
- private static Throwable handleInvocationTargetException(InvocationTargetException x) throws JAXBException {
- Throwable t = x.getTargetException();
- if (t != null) {
- if (t instanceof JAXBException)
- // one of our exceptions, just re-throw
- throw (JAXBException) t;
- if (t instanceof RuntimeException)
- // avoid wrapping exceptions unnecessarily
- throw (RuntimeException) t;
- if (t instanceof Error)
- throw (Error) t;
- return t;
- }
- return x;
- }
-
-
- /**
- * Determine if two types (JAXBContext in this case) will generate a ClassCastException.
- *
- * For example, (targetType)originalType
- *
- * @param originalType
- * The Class object of the type being cast
- * @param targetType
- * The Class object of the type that is being cast to
- * @return JAXBException to be thrown.
- */
- private static JAXBException handleClassCastException(Class> originalType, Class> targetType) {
- final URL targetTypeURL = which(targetType);
-
- return new JAXBException(Messages.format(Messages.ILLEGAL_CAST,
- // we don't care where the impl class is, we want to know where JAXBContext lives in the impl
- // class' ClassLoader
- getClassClassLoader(originalType).getResource("jakarta/xml/bind/JAXBContext.class"),
- targetTypeURL));
- }
-
- /**
- * Create an instance of a class using the specified ClassLoader
- */
- static JAXBContext newInstance(String contextPath,
- Class>[] contextPathClasses,
- String className,
- ClassLoader classLoader,
- Map properties) throws JAXBException {
-
- try {
- Class> spFactory = ServiceLoaderUtil.safeLoadClass(className, DEFAULT_FACTORY_CLASS, classLoader);
- return newInstance(contextPath, contextPathClasses, spFactory, classLoader, properties);
- } catch (ClassNotFoundException x) {
- throw new JAXBException(Messages.format(Messages.DEFAULT_PROVIDER_NOT_FOUND), x);
- } catch (RuntimeException | JAXBException x) {
- // avoid wrapping RuntimeException to JAXBException,
- // because it indicates a bug in this code.
- // JAXBException re-thrown as is
- throw x;
- } catch (Exception x) {
- // can't catch JAXBException because the method is hidden behind
- // reflection. Root element collisions detected in the call to
- // createContext() are reported as JAXBExceptions - just re-throw it
- // some other type of exception - just wrap it
- throw new JAXBException(Messages.format(Messages.COULD_NOT_INSTANTIATE, className, x), x);
- }
- }
-
- static JAXBContext newInstance(String contextPath,
- Class>[] contextPathClasses,
- Class> spFactory,
- ClassLoader classLoader,
- Map properties) throws JAXBException {
-
- try {
-
- ModuleUtil.delegateAddOpensToImplModule(contextPathClasses, spFactory);
-
- /*
- * jakarta.xml.bind.context.factory points to a class which has a
- * static method called 'createContext' that
- * returns a jakarta.xml.bind.JAXBContext.
- */
-
- Object context = null;
-
- // first check the method that takes Map as the third parameter.
- // this is added in 2.0.
- try {
- Method m = spFactory.getMethod("createContext", String.class, ClassLoader.class, Map.class);
- // any failure in invoking this method would be considered fatal
- Object obj = instantiateProviderIfNecessary(spFactory);
- context = m.invoke(obj, contextPath, classLoader, properties);
- } catch (NoSuchMethodException ignored) {
- // it's not an error for the provider not to have this method.
- }
-
- if (context == null) {
- // try the old method that doesn't take properties. compatible with 1.0.
- // it is an error for an implementation not to have both forms of the createContext method.
- Method m = spFactory.getMethod("createContext", String.class, ClassLoader.class);
- Object obj = instantiateProviderIfNecessary(spFactory);
- // any failure in invoking this method would be considered fatal
- context = m.invoke(obj, contextPath, classLoader);
- }
-
- if (!(context instanceof JAXBContext)) {
- // the cast would fail, so generate an exception with a nice message
- throw handleClassCastException(context.getClass(), JAXBContext.class);
- }
-
- return (JAXBContext) context;
- } catch (InvocationTargetException x) {
- // throw if it is exception not to be wrapped
- // otherwise, wrap with a JAXBException
- Throwable e = handleInvocationTargetException(x);
- throw new JAXBException(Messages.format(Messages.COULD_NOT_INSTANTIATE, spFactory, e), e);
-
- } catch (Exception x) {
- // can't catch JAXBException because the method is hidden behind
- // reflection. Root element collisions detected in the call to
- // createContext() are reported as JAXBExceptions - just re-throw it
- // some other type of exception - just wrap it
- throw new JAXBException(Messages.format(Messages.COULD_NOT_INSTANTIATE, spFactory, x), x);
- }
- }
-
- private static Object instantiateProviderIfNecessary(final Class> implClass) throws JAXBException {
- try {
- if (JAXBContextFactory.class.isAssignableFrom(implClass)) {
- return AccessController.doPrivileged(new PrivilegedExceptionAction