Java 使用jenkins执行.bat文件
我正在尝试使用bat命令和jenkins一起运行jar文件。我想弹出cmd并执行jar文件。但问题是jenkins在其控制台内执行命令。然后我插入了“start”命令,希望它能正常工作,因为它创建了一个单独的cmd来运行jar。 这是我的bat代码Java 使用jenkins执行.bat文件,java,batch-file,jenkins,cmd,jenkins-plugins,Java,Batch File,Jenkins,Cmd,Jenkins Plugins,我正在尝试使用bat命令和jenkins一起运行jar文件。我想弹出cmd并执行jar文件。但问题是jenkins在其控制台内执行命令。然后我插入了“start”命令,希望它能正常工作,因为它创建了一个单独的cmd来运行jar。 这是我的bat代码 start "window_name" java -jar myjarfile.jar 但是当我使用它执行时,jenkins不会创建一个单独的cmd窗口,但它会执行jar文件。它显示了这条线 C:\Update>start "wi
start "window_name" java -jar myjarfile.jar
但是当我使用它执行时,jenkins不会创建一个单独的cmd窗口,但它会执行jar文件。它显示了这条线
C:\Update>start "window_name" java -jar myjarfile.jar
你知道怎么解决这个问题吗?我想在执行时弹出一个黑色窗口 诀窍是弄清楚要在哪个会话中启动
cmd.exe
。在远程服务器上(Jenkins最常见的情况),不需要直接访问。您的远程桌面会话与在控制台物理登录的用户不在同一会话中
- 打开Windows任务管理器
- 单击用户选项卡
- 记下所需登录用户会话的ID
- 从
- 从此处向下编辑
- 打开提升的命令提示符:在Start的quicksearch中键入
,右键单击cmd
,选择cmd.exe
以管理员身份运行
- 键入
并按enter键C:\path\to\psexec.exe-accepteula
- 键入
并按enter键。(如果您看到出现命令提示,说明一切正常,请立即将其关闭)C:\path\to\psexec.exe-i 1 cmd
- 在作业配置中,配置执行Windows批处理命令步骤
写下以下内容:
C:\path\to\psexec.exe-accepteula&&C:\path\to\psexec.exe-i 1 cmd/C start C:\full\path\to\java.exe-jar myjarfile.jar
这个答案提供了一个更详细的解释谢谢各位,也许你们的解决方案也能奏效。最后,我创建了一个套接字程序,并自己执行了服务器。然后安排jenkins执行客户机。(我的环境中的服务器和jenkin环境中的客户机)当客户机连接到服务器时,它执行bat文件。现在一切正常 启动“window_name”cmd/c“java-jar myjarfile.jar”@r3ap3r谢谢。但结果是一样的:(为什么你想让控制台弹出?弹出窗口无论如何对Jenkins HTTP接口都不起作用。谢谢兄弟。但仍然没有改变…问题是Jenkins在自己的环境中执行所有操作。它无法访问当前环境。它请求显示结果的权限(显示由jar创建的窗口…等等)尝试添加
-s
以使用本地系统特权帐户。此外,您也可以尝试“服务”方法解决方案。我看到了另一个类似的问题,这让我真正尝试了。经过一些尝试和错误,我得到了一个可行的解决方案(针对另一个.exe)。我已修改了答案。请在此处查看我的答案。请注意使用cmd/k
进行调试,因为您可能会遇到路径问题