diff --git a/spring-core/graalvm/src/main/java/org/springframework/aot/graalvm/ConstantFieldSubstitutionProcessor.java b/spring-core/graalvm/src/main/java/org/springframework/aot/graalvm/ConstantFieldSubstitutionProcessor.java index 5942c7b6c5..79f1ccbd6f 100644 --- a/spring-core/graalvm/src/main/java/org/springframework/aot/graalvm/ConstantFieldSubstitutionProcessor.java +++ b/spring-core/graalvm/src/main/java/org/springframework/aot/graalvm/ConstantFieldSubstitutionProcessor.java @@ -17,6 +17,8 @@ package org.springframework.aot.graalvm; import java.lang.reflect.Field; +import java.util.LinkedHashSet; +import java.util.Set; import java.util.regex.Pattern; import com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor; @@ -47,6 +49,8 @@ class ConstantFieldSubstitutionProcessor extends SubstitutionProcessor { private final ThrowawayClassLoader throwawayClassLoader; + private Set seen = new LinkedHashSet<>(); + ConstantFieldSubstitutionProcessor(DebugContext debug, ClassLoader applicationClassLoader) { this.throwawayClassLoader = new ThrowawayClassLoader(applicationClassLoader); @@ -63,7 +67,10 @@ class ConstantFieldSubstitutionProcessor extends SubstitutionProcessor { JavaConstant constant = lookupConstant(declaringClass.toJavaName(), field.getName()); if (constant != null) { // TODO Use proper logging only when --verbose is specified when https://github.com/oracle/graal/issues/4669 will be fixed - System.out.println("Field " + fieldIdentifier + " set to " + constant.toValueString() + " at build time"); + if (!this.seen.contains(fieldIdentifier)) { + this.seen.add(fieldIdentifier); + System.out.println("Field " + fieldIdentifier + " set to " + constant.toValueString() + " at build time"); + } return new ConstantReadableJavaField(field, constant); } }