2016-08-18 225 views
0

我遇到這個奇怪的問題,我可以從內部的IntelliJ運行沒有問題,我的春節,啓動應用程序的jar文件時遇到無法解析的佔位符,但是當我做:春季啓動 - 從

mvn clean package -Pst -Dspring.profiles.active=st && java -jar target/myapp-0.0.1-SNAPSHOT.jar 

我可以看到錯誤,指出Spring Boot無法解析@Value佔位符。

ERROR o.s.boot.SpringApplication - Application startup failed 
java.lang.IllegalArgumentException: Could not resolve placeholder 

我所做的調查是爲了讓jar文件並解壓文件如使用jar xf myapp.jar,我可以看到在classpath根目錄下的屬性文件。最初,我有這個問題的Maven不是從main/resource文件夾我的包裝性能和靜,但我已經決定,與:

  <resource> 
       <directory>src/main/resources</directory> 
      </resource> 
      <resource> 
       <directory>static</directory> 
       <targetPath>static</targetPath> 
      </resource> 

任何意見,想法可能我在這裏失去了?

回答

0

我設法解決這個問題。它真的有線,似乎我需要告訴java在哪個配置文件中運行jar,例如--spring.profiles.active = st

mvn clean package -Pst -Dspring.profiles.active=st && java -jar target/myapp-0.0.1-SNAPSHOT.jar --spring.profiles.active=st