You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Socket编程:如何生成Windows客户端与服务端两个可执行文件

把Java Socket项目打包成Windows可执行文件(.exe)及相关问题解决

第一步:先生成可运行JAR包

不管用工具还是命令行,先把你的Server.java和Client.java分别打包成可运行JAR:

  • 用NetBeans操作:右键项目 → 导出 → Java → 可运行JAR文件,分别选择Server和Client作为主类,导出两个独立的JAR包(比如Server.jar和Client.jar)。
  • 用命令行操作:
    1. 先编译源码:javac Server.java Client.java
    2. 为每个主类创建manifest文件,比如server.mf内容为:Main-Class: Server(注意文件最后要留空一行)
    3. 打包Server的JAR:jar cvfm Server.jar server.mf Server.class
    4. 同理制作Client.jar

第二步:将JAR转为.exe文件

推荐用Launch4j(免费轻量,无需安装),操作流程如下:

  1. 下载解压Launch4j后打开,在「Basic」标签:
    • 「Output file」选择你要生成的exe保存路径(比如D:\projects\Server.exe)
    • 「Jar」选择刚才生成的Server.jar
  2. 在「JRE」标签:设置最小JRE版本(比如1.8),确保目标电脑有对应版本的Java环境
  3. 控制CMD窗口显示:在「Header」标签,把「Console」改成「GUI」就不会弹出黑框;如果需要查看程序输出(比如调试),保留「Console」即可
  4. 点击左上角「Build wrapper」,等待生成exe,重复上述步骤制作Client.exe

如果你的Java版本是14及以上,也可以用官方自带的jpackage工具,命令行直接生成:

  • 生成Server.exe:jpackage --type exe --input . --main-jar Server.jar --main-class Server --name Server
  • 隐藏控制台窗口:添加参数--win-console false(适合无交互的服务端)

关于运行时是否弹出CMD窗口

完全取决于你的打包设置:

  • 选「Console」模式(Launch4j)或不加--win-console false参数(jpackage):运行exe时会弹出CMD窗口,和你在NetBeans里测试的效果一致
  • 选「GUI」模式(Launch4j)或加--win-console false参数(jpackage):不会弹出黑框,程序在后台运行(如果你的客户端需要输入输出,建议保留Console模式)

内容的提问来源于stack exchange,提问作者Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:25:29