Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Support JEP 512: Compact Source Files and Instance Main Methods

オープン
#1,216 コメント 3 件 リアクション 3 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
java
領域
tooling

調査の方向性

まず、報告された learn/jbang/hello.java の例を使って v1.25.1 の失敗を再現し、JEP 445、463、477、495 を確認します。コンパクトなソースファイルとインスタンス main メソッドに必要な formatter の変更を特定し、その後、「did not generate token」エラーなしで例が正常にフォーマットされることを検証します。

索引モデルが issue の本文から書いたものです。

説明

Java 25

In https://github.com/enola-dev/enola/pull/974 for https://github.com/enola-dev/enola/issues/971 with https://github.com/enola-dev/enola/issues/970, I am using "Java's fancy modern main style", AKA the JEP 445 & 463 & 477 & 495 stuff:

So I have e.g. a hello.java which looks e.g. like this, which is actually valid (with --enable-preview) Java 21 syntax:

import static java.lang.System.out;

void main() {
    out.println("Hello World: " + dev.enola.common.Version.get());
}

google-java-format chokes on this with:

    stderr: learn/jbang/hello.java:26:6: error: did not generate token "void"
void main() {

This is on v1.25.1, which is the 2nd most recent release today; looking at the 1.25.2 Release Notes, I have no reason to believe that this (just) got fixed there; ergo reporting this here.

Stating that google-java-format does not support --enable-preview would be valid. But from what little I figured (so far) this feature, contrary to e.g. those preview String Templates which then got removed again, this syntax appears to be here to stay, so probably should be supported, sooner or later.

主要言語
Java
スター
6.2k
フォーク
936
平均マージ
6分
マージ済み PR(30日)
3

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

google/google-java-format のほかの issue

google/google-java-format の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。