Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jenkins执行.bat文件_Java_Batch File_Jenkins_Cmd_Jenkins Plugins - Fatal编程技术网

Java 使用jenkins执行.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

我正在尝试使用bat命令和jenkins一起运行jar文件。我想弹出cmd并执行jar文件。但问题是jenkins在其控制台内执行命令。然后我插入了“start”命令,希望它能正常工作,因为它创建了一个单独的cmd来运行jar。 这是我的bat代码

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
    ,选择
    以管理员身份运行
  • 键入
    C:\path\to\psexec.exe-accepteula
    并按enter键
  • 键入
    C:\path\to\psexec.exe-i 1 cmd
    并按enter键。(如果您看到出现命令提示,说明一切正常,请立即将其关闭)
  • 在作业配置中,配置执行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
进行调试,因为您可能会遇到路径问题