notepad++ 无法原生支持 gradle 构建,需通过 nppexec 插件调用项目根目录下的 gradlew 脚本执行构建命令,且必须确保路径全英文无空格、工作目录为项目根、正确配置 application 插件才能生成可执行 jar。

Notepad++ 本身不支持 Gradle 构建,必须靠外部命令行驱动
Notepad++ 是纯文本编辑器,没有内置构建系统或 Java IDE 功能。所谓“配置 Gradle 构建”,本质是把 gradlew(或 gradle)命令封装成 Notepad++ 的“运行”菜单项或快捷键,让它在终端里执行——不是在 Notepad++ 窗口内执行,更不会解析 build.gradle 或提供智能提示。
常见错误现象:用户点击“运行 → 启动 Gradle 构建”后窗口一闪而过、无输出、报错 'gradle' is not recognized as an internal or external command,根本原因是没正确设置路径或没激活命令行环境。
- 确保项目根目录下存在
gradlew(Windows)或gradlew(macOS/Linux),且已赋予执行权限(Linux/macOS 需chmod +x gradlew) - 不要依赖系统全局
gradle命令——优先用项目自带的gradlew,避免版本冲突 - Notepad++ 的“运行”命令默认使用
cmd.exe(Windows),它不加载用户 shell 配置(如.zshrc或PowerShell profile),所以别指望gradle命令自动可用
用 NppExec 插件调用 gradlew 并捕获输出
NppExec 是最轻量、最可控的方式,它能让命令在 Notepad++ 底部的控制台中运行,并保留输出日志供排查。
操作步骤:
- 通过 插件 → 插件管理 → 安装 NppExec(需联网,重启 Notepad++)
- 按
F6打开 NppExec 控制台,输入:cd $(CURRENT_DIRECTORY) $(FULL_CURRENT_PATH:drive)\gradlew.bat build
(Windows);Linux/macOS 改为:cd $(CURRENT_DIRECTORY) ./gradlew build
- 点“保存”并命名脚本(如
gradle-build),勾选“在菜单中显示” - 后续可绑定快捷键:设置 → 快捷键 → 运行 → 找到刚存的脚本 → 指定快捷键
注意:$(CURRENT_DIRECTORY) 是 Notepad++ 内置变量,指向当前打开文件所在目录;但 Gradle 要求工作目录是项目根(含 settings.gradle 或 build.gradle),所以务必先打开项目根目录下的某个文件(如 build.gradle),否则 cd 会进错位置。
避免中文路径和空格导致 gradlew.bat 启动失败
Windows 下 gradlew.bat 对路径中的空格和中文极其敏感,常报错:The filename, directory name, or volume label syntax is incorrect. 或直接退出无提示。
- 绝对不要把项目放在类似
C:\Users\张三\Documents\My Project\这种路径下 - 推荐路径:全英文、无空格、无特殊字符,例如
D:\gradle-projects\myapp\ - 如果必须用中文路径,改用 PowerShell 方式绕过 bat 脚本:
powershell -Command "cd '$(CURRENT_DIRECTORY)'; ./gradlew.bat build"
(仍需确保 PowerShell 可执行脚本策略允许)
这个坑几乎每个新手都会踩一次,而且错误信息完全不指向路径问题,只能靠排除法确认。
运行结果只显示“BUILD SUCCESSFUL”,但实际没生成 JAR?
gradle build 默认只执行编译+测试+打包(jar 任务),但是否生成可执行 JAR 取决于 build.gradle 是否配置了 application 插件和 mainClass。
- 检查
build.gradle是否含:plugins { id 'application' } application { mainClass = 'com.example.Main' } - 若只是普通库项目,
build生成的是build/libs/*.jar(非可执行);要生成带依赖的 fat jar,得额外运行gradlew shadowJar(需引入com.github.johnrengelman.shadow插件) - Notepad++ 不会帮你判断这些逻辑,它只忠实地执行你写的命令——所以看到 BUILD SUCCESSFUL,不代表你得到了想要的产物
真正关键的,是你理解 Gradle 本身的行为,而不是让编辑器“变聪明”。Notepad++ 在这里只是一个触发器,别对它有 IDE 级别的期待。











