Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

unused import removal leaves extra blank line between package declaration and class Javadoc / declaration

Offen
#1,436 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@arimu1 arbeitet bereits daran.

Seit 05.8.2026.

  • #1437 von @arimu1 — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
62/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
java
Bereich
tooling

Rechercherichtung

Beginne damit, das Problem mit dem Beispiel TestBug.java und dem Befehl google-java-format zu reproduzieren. Verfolge den Formatierungsdurchlauf, der den nicht verwendeten Import entfernt und den vertikalen Leerraum zwischen der Paketdeklaration und dem Javadoc der Klasse verarbeitet. Als erledigt gilt die Aufgabe, wenn der erste Formatierungsdurchlauf eine Leerzeile erzeugt, die der erwarteten Ausgabe entspricht, ohne dass ein zweiter Durchlauf erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When google-java-format removes an unused import statement located between a package declaration and class Javadoc or class declaration, it does not collapse the vertical whitespace in the same formatting pass. As a result, the formatted output contains extra blank lines (two consecutive blank lines instead of one).

Running google-java-format a second time on the output collapses the extra blank line as expected. We observed this in generated code, more context here: https://github.com/googleapis/librarian/issues/7146

Environment

  • google-java-format Version: Tested on 1.25.2 through 1.35.0 (including recent builds).
  • Operating System: Linux / macOS / Cross-platform

Minimal Reproducible Example

Input Code (TestBug.java)
```java                                                                                                                                                                                 
package com.example;                                                                                                                                                                    

import static io.grpc.MethodDescriptor.generateFullMethodName;

/**
 * Javadoc for class.
 */
public class TestBug {
}
Command Executed
google-java-format TestBug.java

Actual Output (First Pass)

package com.example;


/** Javadoc for class. */
public class TestBug {}

(Notice the two consecutive empty lines between package com.example; and /** Javadoc for class. */.)

Expected Output

package com.example;

/** Javadoc for class. */
public class TestBug {}

Additional Context & Workaround

• Second Pass Result: Executing google-java-format a second time on the first pass output (google-java-format TestBug.java | google-java-format -) produces the correct output with a single blank line.

Vorherrschende Sprache
Java
Sterne
6.2k
Forks
940
Ø Merge
5 Min.
Gemergte PRs (30 T.)
8

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus google/google-java-format

Alle Issues in google/google-java-format

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.