Idea運行Spring Boot Gradle項目時有關Filter參數無法生效問題

       Spring Boot使用Gradle進行項目管理時,也會使用Filter來進行打包時參數替換,特別是對於resources文件夾下的內容。如下所示,爲resources下的數據初始化data.sql:

INSERT INTO demo_system_info(version_code,version_id,update_time,description) VALUES('{{version}}','{{versionId}}',CURRENT_TIMESTAMP,'{{desc}}') ON DUPLICATE KEY UPDATE description=VALUES(description);

其對應gradle filter相關設置如下:

processResources {
    filter(ReplaceTokens, tokens: [dbName   : project.ext.db.name,
                                   dbPwd    : project.ext.db.password,
                                   version  : project.ext.version.code,
                                   versionId: project.ext.version.id,
                                   desc     : project.ext.version.desc],
            beginToken: '{{', endToken: '}}')
}

       打包時,“{{}}”之間的內容會被相應的替換,但是直接使用idea運行Spring Boot時,卻無法生效替換,個人猜想是因爲運行編譯時使用了idea自身編譯方式而導致,經過一番查詢之後,將idea項目編譯替換爲Gradle方式即可,具體設置如下:

    "Build and run using"默認方式爲Intellij IDEA,將其設置爲Gradle即可解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章