Skip to content

Commit 702995d

Browse files
committed
[FEATURE] Add flag DONT_ADD_YOURSELF_TO_CLASSPATH_PROPERTY
1 parent 262d13c commit 702995d

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

components/launcher-api/src/main/java/pro/gravit/launcher/base/profiles/ClientProfile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ public enum ClassLoaderConfig {
423423
}
424424

425425
public enum CompatibilityFlags {
426-
LEGACY_NATIVES_DIR, CLASS_CONTROL_API, ENABLE_HACKS, WAYLAND_USE_CUSTOM_GLFW
426+
LEGACY_NATIVES_DIR, CLASS_CONTROL_API, ENABLE_HACKS, WAYLAND_USE_CUSTOM_GLFW, DONT_ADD_YOURSELF_TO_CLASSPATH_PROPERTY
427427
}
428428

429429
public static class Version implements Comparable<Version> {

components/launcher-client/src/main/java/pro/gravit/launcher/client/ClientLauncherEntryPoint.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,12 @@ private static void realMain(String[] args) throws Throwable {
190190
ClientService.baseURLs = classLoaderControl.getURLs();
191191
} else if (classLoaderConfig == ClientProfile.ClassLoaderConfig.SYSTEM_ARGS) {
192192
launch = new BasicLaunch();
193+
if(profile.hasFlag(ClientProfile.CompatibilityFlags.DONT_ADD_YOURSELF_TO_CLASSPATH_PROPERTY)) {
194+
List<String> split = new ArrayList<>(List.of(System.getProperty("java.class.path").split(File.pathSeparator)));
195+
String pathToLauncher = IOHelper.getCodeSource(ClientLauncherEntryPoint.class).toAbsolutePath().toString();
196+
split.removeIf(e -> e.equals(pathToLauncher));
197+
System.setProperty("java.class.path", String.join(File.pathSeparator, split));
198+
}
193199
classLoaderControl = launch.init(classpath, params.nativesDir, options);
194200
ClientService.baseURLs = classpathURLs.toArray(new URL[0]);
195201
} else {

0 commit comments

Comments
 (0)