diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java index da01bf6a9650..888d15902687 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java @@ -485,39 +485,39 @@ public void substitute(UnaryOperator callback) { * @throws IOException if an error occurs */ protected void saveLayout(Writer out, boolean typed) throws IOException { - PropertiesWriter writer = new PropertiesWriter(out, typed); - if (header != null) { - for (String s : header) { - writer.writeln(s); - } - } - - for (String key : storage.keySet()) { - Layout l = layout.get(key); - if (l != null && l.getCommentLines() != null) { - for (String s : l.getCommentLines()) { + try (PropertiesWriter writer = new PropertiesWriter(out, typed)) { + if (header != null) { + for (String s : header) { writer.writeln(s); } } - if (l != null && l.getValueLines() != null) { - for (int i = 0; i < l.getValueLines().size(); i++) { - String s = l.getValueLines().get(i); - if (i < l.getValueLines().size() - 1) { - writer.writeln(s + "\\"); - } else { + + for (String key : storage.keySet()) { + Layout l = layout.get(key); + if (l != null && l.getCommentLines() != null) { + for (String s : l.getCommentLines()) { writer.writeln(s); } } - } else { - writer.writeProperty(key, storage.get(key)); + if (l != null && l.getValueLines() != null) { + for (int i = 0; i < l.getValueLines().size(); i++) { + String s = l.getValueLines().get(i); + if (i < l.getValueLines().size() - 1) { + writer.writeln(s + "\\"); + } else { + writer.writeln(s); + } + } + } else { + writer.writeProperty(key, storage.get(key)); + } } - } - if (footer != null) { - for (String s : footer) { - writer.writeln(s); + if (footer != null) { + for (String s : footer) { + writer.writeln(s); + } } } - writer.flush(); } /**