java.lang.NoClassDefFoundError: java/applet/Applet on modern JDKs (Java 26+) due to legacy Applet references
まだ誰も着手していません。
評価
調査の方向性
The stack trace points to BasePosRobotIT.setUpBase at line 83, which is in the reporter's own project, not in AssertJ Swing's sources. First, grep the repository for java.applet and JApplet references and run the test suite on JDK 26 to confirm where the missing class is loaded. If the reference only exists in the reporter's code, the fix belongs there, and the issue should be narrowed. Done when the cause is identified and either a library change or a clear out-of-scope conclusion is recorded.
索引モデルが issue の本文から書いたものです。
説明
Description
When running UI automation tests built on top of AssertJ Swing under modern JDK environments, specifically JDK 26 or newer, the test suite crashes during initialization with a java.lang.NoClassDefFoundError targeting java/applet/Applet.
The Applet API has been completely removed from the standard JDK classpath in Java 26 under [JEP 504: Remove the Applet API].
Since AssertJ Swing still carries legacy references, internal fixtures, or utilities inherited from the original FEST Swing codebase that depend on java.applet.Applet, the framework fails immediately upon class loading.
Stack Trace
java.lang.NoClassDefFoundError: java/applet/Applet
at io.github.kriolos.opos.automation.BasePosRobotIT.setUpBase(BasePosRobotIT.java:83)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
Caused by: java.lang.ClassNotFoundException: java.applet.Applet
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:502)
Environment
- Java Version: JDK 26+ (JEP 504 compliant)
- OS: Agnostic
- Library: AssertJ Swing (Core automation engine)
Expected Behavior
AssertJ Swing should be executable on modern standard runtimes (JDK 26+) without requiring or resolving deprecated and now-deleted packages like java.applet.*.
Suggested Fix
- Completely remove or refactor any code paths, modules, or internal test runners (such as legacy Applet viewers/fixtures) that reference
java.applet.Appletorjavax.swing.JApplet. - Fully decouple standard desktop
JFramecomponents from any Applet-based class loading mechanisms to restore compatibility with current and future JDK ecosystems.
- 主要言語
- Java
- スター
- 121
- フォーク
- 52
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
assertj/assertj-swing のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
assertj/assertj-swing#279 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 48/100
assertj/assertj-swing#278 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
assertj/assertj-swing#276 · コメント 1 件 ·
-
Update unit test to avoid deprecated `ExpectedException.none()` by using `Assert.assertThrows()`オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
assertj/assertj-swing#275 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
assertj/assertj-swing#277 · コメント 1 件 ·
assertj/assertj-swing の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
floci-io/floci#5425 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
objectionary/eo-graphs#80 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
objectionary/jucs#141 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
repowise-dev/repowise#3335 ·
メンテナーはふだん 1 日以内に返信