diff --git a/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/Premain.java b/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/Premain.java index 1a1a669525..dd1c1762fc 100644 --- a/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/Premain.java +++ b/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/Premain.java @@ -41,8 +41,11 @@ public static void premain(@Nullable String agentArgs, @NonNull Instrumentation // init and registers the unsafe transformer very early in the process. this is done here // as we usually don't allow transformers to be registered so early as they're intended to // transform classes brought in by the wrapped application, not by the jdk - UnsafeTransformer.init(inst); - Premain.transformerRegistry.registerTransformer(new UnsafeTransformer()); + var unsafeTransformerDisabled = Boolean.getBoolean("cloudnet.wrapper.unsafe-transform-disabled"); + if (!unsafeTransformerDisabled) { + UnsafeTransformer.init(inst); + Premain.transformerRegistry.registerTransformer(new UnsafeTransformer()); + } } public static void preloadClasses(@NonNull Path file, @NonNull ClassLoader loader) { diff --git a/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/transform/unsafe/UnsafeTransformer.java b/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/transform/unsafe/UnsafeTransformer.java index 3adc9dc2f0..0b46831535 100644 --- a/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/transform/unsafe/UnsafeTransformer.java +++ b/wrapper-jvm/impl/src/main/java/eu/cloudnetservice/wrapper/impl/transform/unsafe/UnsafeTransformer.java @@ -67,13 +67,9 @@ public final class UnsafeTransformer implements ClassTransformer { MethodTypeDesc.of(ConstantDescs.CD_void, ConstantDescs.CD_String, ConstantDescs.CD_String); /** - * Constructs a new instance of this transformer, usually done via SPI. + * Constructs a new instance of this transformer, only public for internal use. */ public UnsafeTransformer() { - var transformerDisabled = Boolean.getBoolean("cloudnet.wrapper.unsafe-transform-disabled"); - if (transformerDisabled) { - throw new UnsupportedOperationException("transformer disabled via system property"); - } } /**