jenkins + maven 远程部署多环境项目问题锦集

1.远程部署项目到其他服务器,可能是tomcat设置账户原因,用访问tomcat部署没有成功,改为SSH密钥传输项目war包到远程服务器,再执行shell脚本部署项目;

2.因为要进行多环境的资源文件配置:

    在引用资源文件的时候,jdbc资源文件单独引用,其他的系统资源文件一起引用。在部署到远程服务器之后出现:找不到jdbc.driver;

    Could not resolve placeholder 'jdbc.driver' in string value "${jdbc.driver}"

    这个时候想起来在看spring源码的时候:

       Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个

        org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean

        就会停止对剩余PropertyPlaceholderConfigurer的扫描

        (Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了)。

        这个基于命名空间的配置,

        其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已。

        换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或)

        其余的会被Spring忽略掉(其实Spring如果提供一个警告就好了)。

    把资源文件统一引用,问题解决。

你可能感兴趣的:(maven,jenkins)