因为项目有三套环境,在换环境之前,pom将dev设置为active,我要改成test环境:
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
这里死活调不通,然后我根据debug进行查询,发现有个地方很有意思:
有一段调用了这一段:
config = new Properties();
InputStream in = MarketingConfTg.class.getResourceAsStream("/marketing_tg.properties");
发现,这段代码都不会再执行了,因此,我判断这个配置文件已经写入到了class字节码文件,那么可能是要重新编译才行,然后我执行了maven的update指令,果然可以了!
由此,我推测,static部分代码应该也是写入到了class字节码文件中,如果项目有变动,调用到了这一部分的东西,是需要重新编译的!简单说改配置之后,要用maven update或者其他命令重新编译项目!