SpringBoot啟動后自動打開瀏覽器訪問項目


之前我們用SSM或者SSH進行JAVA WEB開發的時候,IDEA 需要配置Tomcat然后把項目放到tomcat運行,tomcat啟動的時候會自動打開瀏覽器去訪問項目,但是SpringBoot是內嵌tomcat的,項目啟動成功后無法自主訪問,需要我們手動打開瀏覽器輸入url訪問,我覺得這樣很不習慣所以研究了一下

具體實現方案

我想做成一個通用的啟動,所以可以隨手配置是否需要啟動是打開瀏覽器

Mac 電腦

  1. 屬性文件中添加對應屬性
#運行項目后是否在瀏覽器中打開瀏覽器
openProject:
  isOpen: true  #是否打開瀏覽器運行 
  cmd: open -a   #運行命令
  web:
    openUrl: http://localhost:8989/ #項目要運行url
    googleExcute: GoogleChrome  #運行的瀏覽器

這里我的電腦是Mac 所以需要使用這個open -a 命令window不需要這個屬性還有這個googleExcute表示瀏覽器名稱默認Mac 瀏覽器名稱是有空格,請把這個app名字空格去掉且不能有種中文,否則使用open -a 命令無效無法打開

通過定義屬性配置文件達到可以定制化,隨手關閉

  1. 編寫自己的CommandRunner類實現CommandLineRunner接口的run方法,這個方法會在項目啟動后制動執行
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());
            }
        }
    }
}

window電腦

上圖只是運行命令不一樣,比mac簡單,只用改下自己電腦對應瀏覽器路徑就可以


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM