
通过本地构建可执行 jar 文件并配置网络与防火墙,团队成员无需 ide 或远程服务器即可直接运行并访问你的 spring boot 应用。
通过本地构建可执行 jar 文件并配置网络与防火墙,团队成员无需 ide 或远程服务器即可直接运行并访问你的 spring boot 应用。
Spring Boot 项目默认以嵌入式 Tomcat(或其他 Servlet 容器)运行,天然支持“开箱即用”的独立部署。若你希望团队快速体验本地开发成果,最推荐的方式是构建一个可执行的 FAT JAR(即包含所有依赖的单文件 JAR),而非 WAR —— 尤其对于 Gradle 项目,这比 WAR 更简洁、更符合 Spring Boot 最佳实践。
✅ 正确构建可执行 JAR(Gradle)
确保你的 build.gradle 中已启用 Spring Boot 插件并配置了可执行打包:
plugins {
id 'org.springframework.boot' version '3.2.0''
id 'io.spring.dependency-management' version '1.1.4'
id 'java'
}
// 必须启用可执行 JAR(Spring Boot 3.x 默认已启用)
jar {
enabled = true // 确保 jar 任务启用(Gradle 8.0+ 默认启用)
}然后在终端运行:
./gradlew clean bootJar
构建成功后,可在 build/libs/your-app-name-0.0.1-SNAPSHOT.jar 找到可执行 JAR 文件。该 JAR 包含全部依赖、嵌入式容器及启动引导类,任何安装了 JRE 17+ 的机器均可直接运行:
java -jar your-app-name-0.0.1-SNAPSHOT.jar
? 让同事访问:关键网络配置
仅生成 JAR 还不够——需确保应用能被局域网内其他设备访问:
-
修改 Spring Boot 监听地址:默认
server.address=127.0.0.1仅限本机访问。在application.properties中改为:server.address=0.0.0.0 server.port=8080
-
检查本地防火墙:Windows Defender / macOS 防火墙 / Linux
ufw可能拦截外部连接。临时放行端口(如 8080):- Windows:控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则(端口 → TCP 8080 → 允许连接)
- macOS:系统设置 → 网络 → 防火墙选项 → 允许传入连接(或临时关闭测试)
确认局域网 IP 并分享:在你的电脑上运行
ipconfig(Windows)或ifconfig | grep "inet "(macOS/Linux),找到类似192.168.x.x的局域网 IPv4 地址(不是 127.0.0.1 或 169.254.x.x)。同事浏览器访问:http://192.168.x.x:8080
⚠️ 注意:若公司统一防火墙策略严格禁止跨设备 HTTP 访问(如你所述),则上述方案需 IT 部门临时开通对应端口策略;此时可考虑替代方案:
- 使用 ngrok(
ngrok http 8080)生成公网临时隧道 URL(适合演示,无需内网穿透);- 或将 JAR +
application-dev.properties(含server.address=0.0.0.0)打包为 ZIP 发给同事,由他们自行双击或命令行启动(零 IDE 依赖)。
? 补充建议:提升协作体验
- 提供简明
README.md,说明:“解压后执行java -jar app.jar,打开http://[你的IP]:8080即可访问”; - 若项目含前端资源(Thymeleaf/Vue/React),确保静态资源路径和 CORS 配置正确(必要时添加
@CrossOrigin或WebMvcConfigurer); - 避免使用
spring-boot-devtools生产打包(它会增加启动时间且非必需)。
综上,构建 FAT JAR + 开放本机监听 + 局域网防火墙放行,是零服务器、零 IDE、零 Maven 依赖的最轻量、最可靠共享方案——Gradle 原生支持,无需 WAR 转换,开箱即用。


















