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

如何在Windows PowerShell后台运行Java app.jar程序?

PowerShell后台运行Java Jar包的解决方案

方案1:使用Start-Process(推荐)

这是PowerShell中最可靠的后台运行外部程序的方式,能精准控制运行环境:

Start-Process -FilePath java -ArgumentList "-jar app.jar" -NoNewWindow -WorkingDirectory (Get-Location) -WindowStyle Hidden
  • -NoNewWindow:避免弹出新的命令行窗口
  • -WorkingDirectory (Get-Location):指定当前目录为工作目录,确保能找到app.jar
  • -WindowStyle Hidden:彻底隐藏程序窗口,完全后台运行

如果需要后续管理进程,可加上-PassThru参数获取进程对象:

$process = Start-Process -FilePath java -ArgumentList "-jar app.jar" -NoNewWindow -WorkingDirectory (Get-Location) -WindowStyle Hidden -PassThru
# 终止进程示例
$process | Stop-Process

方案2:修正Start-Job的用法

Start-Job默认在独立会话中执行,工作目录并非当前目录,导致找不到jar包,可通过以下方式修正:

方式A:传递当前目录到Job会话

Start-Job -ScriptBlock { & java -jar "$using:PWD\app.jar" }

$using:PWD会将当前PowerShell会话的工作目录传递给Job环境,确保能定位到app.jar。

方式B:使用绝对路径

直接指定jar包的绝对路径,无需依赖工作目录:

Start-Job -Command { java -jar "C:\your\full\path\to\app.jar" }

之后可通过Get-Job查看任务状态,Receive-Job获取程序输出。

方案3:借助CMD的start /B(类似Linux的&)

利用CMD的后台运行特性,直接在PowerShell中执行:

cmd /c start /B java -jar app.jar

start /B会让程序在后台运行,不占用当前PowerShell会话,效果类似Linux的&符号。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:35:16