From a7dc80936d7cc73afb2a071bb2e2e0cfeededf25 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Mon, 20 Jul 2026 06:13:47 +0000
Subject: [PATCH] [#746] remove stale opendj-server-legacy jar during upgrade (#751)
---
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
index 132d3bf..7b67cde 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -12,6 +12,7 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyrighted 2026 3A Systems, LLC.
*/
package org.opends.server.tools.upgrade;
@@ -609,6 +610,17 @@
register("4.0.0", moveSubordinateBaseDnToGlobalConfiguration());
register("4.0.0", removeTools("ldif-diff", "make-ldif", "dsjavaproperties"));
+ /*
+ * See issue #746. Builds before #661 (fixed in 5.1.2) shipped a duplicate
+ * org.openidentityplatform.opendj.opendj-server-legacy.jar alongside opendj.jar in lib/.
+ * When upgrading by unzipping a 5.1.2+ archive over such an installation, that jar is no
+ * longer part of the archive so it is neither overwritten nor removed. As the launcher builds
+ * the classpath with the lib/* wildcard, the stale jar makes the runtime report the old
+ * binary version and refuse to start with a version-mismatch error. Delete the leftover.
+ */
+ register("5.1.2",
+ deleteFile(new File(libDirectory, "org.openidentityplatform.opendj.opendj-server-legacy.jar")));
+
/* All upgrades will refresh the server configuration schema and generate a new upgrade folder. */
registerLast(
performOEMMigrationIfNeeded(),
--
Gitblit v1.10.0