以前咱們用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簡單,只用改下本身電腦對應瀏覽器路徑就能夠瀏覽器