再做springboot 动态多环境打包是,遇见取pom中参数的问题。
@param@ 方式取值
提示:
found character '@' that cannot start any token. (Do not use @ for indentation)
项目父pom定义
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent>
虽然启动没有报错,但是红叉叉一直提示异常很不和谐,强迫症晚期,哎。
后来采用 '单引号'
spring: profiles: active: '@profileActive@'
但是总是不太管用,经测试发现修改完profileActive后,先package一次才起作用。暂且在此记录下吧。
最后简单记录下多环境配置吧。
pom文件中
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<!-- 默认值 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>local</id>
<properties>
<profileActive>local</profileActive>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
.....
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application-${profileActive}.yml</include>
<include>application.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>application.yml
spring: profiles: active: '@profileActive@'
乐享:知识积累,快乐无限。