mvn spring-boot:repackage神坑“'spring.datasource.url' is not specified and no embedded datasource...”
阿新 • • 發佈:2018-11-19
問題:
一開始以為是`spring.datasource.url`配置有問題,後來發現Intellij idea下能執行,但是打成jar包就不能執行,於是反應過來,應該是application.properties等配置檔案,沒有被打進包裡面去。解壓jar包,果然沒有在classes中找到配置檔案。用spring-boot:repackage注意事項
一、先package
spring-boot:repackage在執行過程中,首先讀取已經打包的jar檔案,然後進行必要的啟動設定,並最終輸出可執行的jar檔案。mvn clean package spring-boot:repackage -e -DskipTests
-e是輸出錯誤詳情,-DskipTests是跳過測試
二、將resource目錄下的配置檔案手動打包到BOOT-INF下
springboot不會跟springmvc一樣,自動將resource下的配置檔案打包到BOOT-INF/classes下,也不會像springmvc一樣,自動將webapps/WEB-INF/lib
下的第三方jar包打進lib中,因此,配合檔案和第三方jar包都必須手動打進最後的jar包,方式如下:
<build> <resources> <resource> <directory>src\main\resources<directory> <targetPath>BOOT-INF\classes</targetPath> </resource> </resources> </build> <build> <resources> <resource> <directory>path of you 3rd jar<directory> <targetPath>BOOT-INF\lib</targetPath> </resource> </resources> </build>