再做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@'
乐享:知识积累,快乐无限。