我有一个JHipster生成的应用程序,其中包含一个YAML属性文件,如下所示:
storage:
location: ${user.home}/my/folder
我的问题是变量$ {user.home}在构建时被解析,当我运行mvn package
时(在Jenkins上)。因此,该属性已在生成的工件中得到解决,因此当我在我的服务器上部署时,该路径包含用户Jenkins的已解析主页。
谁知道谁在做这个以及为什么?我期待变量将在运行时解析。
感谢。 的Valentin
答案 0 :(得分:0)
我不完全确定JHipster是如何在Spring Boot之上构建的,但我的猜测是Maven的资源过滤在构建时扩展${user.home}
。 spring-boot-starter-parent
application.properties
application.yaml
src/main/resources
${…}
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
{{1}}。{/}
此enabled by default包含更多信息,以及您可能希望进行的配置更改的详细信息,以便不再筛选{{1}}条目:
{{1}}