
要从零开始搭建一个 Java 桌面应用,通常需要几个小时的配置和准备。但如果借助 一个 prompt(提示词)、一个优秀的 LLM(大语言模型)和一份简单的架构蓝图,就能在几分钟内生成完整的项目呢?
在本文中,我将向您展示我是如何做到这一点的,并逐步讲解我使用 Cursor 和 Claude 4 Sonnet 完成的具体步骤。
我们的动机
在深入细节之前,先谈谈我们为什么要做这件事。我之前曾为另一篇文章搭建了一个桌面演示应用,文章题为 "使用 Shadcn UI 构建 Java 桌面应用"。整个过程相当繁琐,我们很快意识到:如果要为其他场景开发类似演示应用,就需要重复编写相同的样板代码、执行相同的环境配置步骤。
我们希望找到一种能 "即时搭建" 这类演示应用的方法。正是在这个时候,我们产生了一个想法:能否借助 LLM 和 AI 驱动的 IDE 来自动完成这些工作?
我们是如何实现的
我从之前开发的演示应用入手,将该项目的代码和结构提供给 LLM,要求它生成一份架构概述文档。在这份概述中,LLM 详细描述了我们使用的技术栈 ------ 包括 Protobuf/gRPC、shadcn/ui、React 和 JxBrowser,同时还说明了项目的目录结构以及各组件之间的协作方式。
此外,我还让它解释了 Java 后端与 Web 前端之间的通信层工作原理。这份文档最终成为了 "架构蓝图",LLM 可以依据它,从一个 prompt 生成全新的应用项目。
遇到的挑战
当然,事情并非简单地将架构蓝图喂给 LLM,然后点击 "go" 就能完成。在生成项目的过程中,我遇到了不少问题和不一致的情况:
- 它对 JxBrowser API 的理解不足,尤其是在使用
InterceptUrlRequestCallback
配置网络层时,所以我不得不使用文档和可用的代码示例来指导它。 - 它在处理较新的 Tailwind 4 时,容易默认使用旧版本的配置 ------ 这是 LLM 处理新版本库时的常见问题。
- 为 Armeria gRPC 服务器配置 CORS 策略是另一个难点,同样,我必须提供一个正确的示例。
- 它经常混淆依赖版本,导致编译和运行时报错。
- 它常常遗漏导入(import),或者完全编造导入,直接导致编译失败。
- 它无法自行设置合适的 Gradle 项目结构,因此我提供了一组基础文件来引导。
我通过迭代的方式解决了这些问题和其他小问题。每次根据架构概述生成项目的新版本时,我都会修复损坏或不清楚的部分,并完善文档,直到我拥有了一个稳定、可用的设置,能够可靠地生成此类演示应用。
最终成果
我们最终得到的稳定设置是一组紧凑的文件,您可以使用它们来搭建您自己的带有 React UI 的 Java 桌面应用。如果您想亲自尝试,请从这个 GitHub 目录 下载 docs
和 template
目录,并将它们放入一个空项目中。
拥有这些文件后,将architecture-overview.md
文档添加到 Cursor 中新项目的上下文中,然后要求 LLM 生成应用。

Cursor 中的 prompt 截图
以下是使用的 prompt:
请阅读并分析我们之前项目中的 architecture-overview.md 文件,并基于它
生成一个新的演示项目。
让我们创建一个简单的桌面应用,功能是文件系统查看器。前端负责展示文件和文件夹结构;后端通过
Java 文件系统 API 访问数据并提供给前端。
当所有项目文件生成完成后,您可以先启动 Vite 开发服务器:
arduino
npm run dev
然后在另一个终端中启动应用本体:
arduino
./gradlew run
此时您应该会看到一个带有 shadcn/ui (React) 的桌面应用窗口,该窗口允许查看本地文件/文件夹并进行导航:

通过 prompt 生成的桌面应用截图。
从零开始构建 Java 应用的完整过程视频展示请前往官网查看。
总结
您可以用这种方法快速生成类似的项目,并将其应用到自己的场景中。如果在配置过程中遇到困难,可以参考平台提供的帮助文档或支持页面。