以前咱们用SSM或者SSH进行JAVA WEB开发的时候,IDEA 须要配置Tomcat而后把项目放到tomcat运行,tomcat启动的时候会自动打开浏览器去访问项目,可是SpringBoot是内嵌tomcat的,项目启动成功后没法自主访问,须要咱们手动打开浏览器输入url访问,我以为这样很不习惯因此研究了一下java
我想作成一个通用的启动,因此能够随手配置是否须要启动是打开浏览器web
#运行项目后是否在浏览器中打开浏览器 openProject: isOpen: true #是否打开浏览器运行 cmd: open -a #运行命令 web: openUrl: http://localhost:8989/ #项目要运行url googleExcute: GoogleChrome #运行的浏览器
这里个人电脑是Mac 因此须要使用这个open -a 命令window不须要这个属性还有这个googleExcute表示浏览器名称默认Mac 浏览器名称是有空格,请把这个app名字空格去掉且不能有种中文,不然使用open -a 命令无效没法打开
经过定义属性配置文件达到能够定制化,随手关闭spring
package com.fashvn.ctmsdata.config; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @Slf4j @Component public class CommandRunner implements CommandLineRunner { @Value("${openProject.web.openUrl}") private String openUrl; @Value("${openProject.isOpen}") private boolean isOpen; @Value("${openProject.cmd}") private String cmd; @Value("${openProject.web.googleExcute}") private String googleExcutePath; @Override public void run(String... args) throws Exception { if (isOpen) { String runCmd = cmd+" "+googleExcutePath + " " +openUrl ; log.info("运行的命令:{}",runCmd); Runtime run = Runtime.getRuntime(); try { run.exec(runCmd); log.debug("启动浏览器打开项目成功"); } catch (Exception e) { e.printStackTrace(); log.error("启动项目自动打开浏览器失败:{}",e.getMessage()); } } } }
上图只是运行命令不同,比mac简单,只用改下本身电脑对应浏览器路径就能够浏览器