工具
Vineflower Java 反编译器
源自 Fernflower 的 Java 及其他 JVM 语言反编译器,延续了 ForgeFlower、Fabric 和 Quiltflower 等分支的工作,注重输出质量和对现代 Java 的支持,包括 Java 21+ 的记录、密封类、switch 表达式和模式匹配。其命令行接受 JAR、ZIP、文件夹或 class 文件,可输出到文件夹、归档或控制台,支持多线程反编译和自动格式化。它也可作为 Maven Central 上的库嵌入使用,或通过替换 Fernflower 的插件在 IntelliJ IDEA 中使用;常规发布 JAR 内置三个插件,包括 Kotlin 支持和变量重命名。
使用条件与局限
- 审阅时的版本为 1.12.0,于 2026-04-29 发布在 GitHub 和 Maven Central(org.vineflower:vineflower)。常规 JAR 包含三个内置插件,-slim JAR 只含反编译器本身。所审阅的 master 分支提交与该标签完全一致;拉取请求以 develop 分支为目标,其中 develop/1.13.0 领先 28 个提交。
- README 称 Vineflower 1.9+ 需要 Java 11 或更高版本运行,1.11+ 需要 Java 17 或更高版本;构建使用 Java 17 工具链,命令为 ./gradlew build。IntelliJ IDEA 插件需从 Marketplace 另行下载,本次未审阅。
- 输入由使用者提供:JAR、ZIP、文件夹或 class 文件,并可通过 -e/--add-external 添加库作为类路径上下文。项目网站上的输出对比由项目自行提供;反编译代码是重建结果,并非原始源码。
- 采用 Apache-2.0 许可。README 称它是 JetBrains Fernflower、MinecraftForge ForgeFlower 和 FabricMC Fernflower 分支的派生,并延续了 Quiltflower;其控制台入口仍沿用 Fernflower 的 org.jetbrains.java.decompiler 包。本次未反编译任何类。
关于此条目
- 类型
- 工具
- 类别
- JVM 字节码工具
- 关联
- 基础工具
- 目标
- 应用
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · Vineflower/vineflower · 修订 b827398
- build.gradle#L25-L35 GitHub · Vineflower/vineflower · 修订 b827398
- build.gradle#L223-L256 GitHub · Vineflower/vineflower · 修订 b827398
- settings.gradle GitHub · Vineflower/vineflower · 修订 b827398
- ARCHITECTURE.md GitHub · Vineflower/vineflower · 修订 b827398
- LICENSE.md GitHub · Vineflower/vineflower · 修订 b827398
- https://github.com/Vineflower/vineflower/releases/tag/1.12.0
- https://vineflower.org/usage/
- https://repo1.maven.org/maven2/org/vineflower/vineflower/maven-metadata.xml