蚌埠网站制作哪里有,阳春新农村建设网站,wordpress放弃php,做那个网站的小编比较好在jenkins的实践中遇到了一个问题#xff1a;我的项目依赖其他第三方应用的地方比较多#xff0c;而且会占用多个端口#xff0c;如何处理端口和启动/关闭第三方应用成了难题。初级解决方案#xff1a;在服务端上面写一堆bat文件#xff0c;#xff0c;#xff0c;…在jenkins的实践中遇到了一个问题我的项目依赖其他第三方应用的地方比较多而且会占用多个端口如何处理端口和启动/关闭第三方应用成了难题。初级解决方案在服务端上面写一堆bat文件_(:з)∠)_ 而且我已经写好了准备手动启动bat然后再跑jenkins升级解决方案和张辉聊了一下本意是说可不可以用jenkins去启动这一堆不用我手动再启动bat最终解决方案张辉推荐在项目代码中直接启动/关闭第三方应用怎么实现是个大问题。。。。目的初始化时启动结束时关闭klovmongoD,appium;klov和mongoD用bat就可以开启服务比较纠结的是appium我用的appium-desktop手动的话还需要点击开启。这里的思路是下载命令行启动的版本。步骤1.安装appium命令行版本npm --registry http://registry.npm.taobao.org install appium -g参考 https://www.cnblogs.com/mapu/p/8666239.htmlhttps://www.cnblogs.com/iTlijun/p/8193588.html如果安装时提示2.04.0msbuild版本不对的问题就去微软官网下载visulStudio2017社区的版本安装其中的组件-windows8.1 和windows10.2.cmd中输入 appium启动服务appium3.编写启动三个应用的bat文件 all.batecho offecho start mongodstart /d C:\Program Files\MongoDB\Server\3.4\bin mongod.exe::echo start jenkins::d:::cd D:\jenkins::java -jar jenkins.warecho start klovcd D:\testng\klov-0.1.1java -jar klov-0.1.1.jarecho start appiumappiumexit4.用java代码来调用这个bat文件package com.test;import java.io.IOException;import java.io.InputStream;import java.sql.PseudoColumnUsage;public class StartBat {public static void main(String[] args) {String cmdcmd /c start C:\\Users\\user\\Desktop\\all.bat;run_cmd(cmd);}public static void run_cmd(String cmd){Runtime runtime Runtime.getRuntime();Process process null;try{processruntime.exec(cmd);//输出cmd的内容InputStream inputStream process.getInputStream();int c ;while((cinputStream.read())!-1){System.out.println(c);}inputStream.close();process.waitFor();}catch(IOException e){e.printStackTrace();}catch (InterruptedException e) {e.printStackTrace();}int i process.exitValue();if(i0){System.out.println(执行完成);}else{System.out.println(执行失败);}process.destroy();processnull;new StartBat().killProcess();}public void killProcess(){Runtime rtRuntime.getRuntime();Process process null;try {rt.exec(cmd.exe /C start wmic process where name cmc.exe call terminate);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}5.基本想要的功能已经实现然后在程序体初始化的时候开启服务test结束的时候销毁服务或者关闭服务就可以了。