参考文章

大致思路

  • 一、先在pom.xml中声明一下我有三个(或者其他)运行环境(profile),给它们取好名字(id),由于这里有resources(指明路径,当所在profile被激活后,系统会在resource的directory下找id目录中的配置文件),所以filter属性写什么都不起作用了。
  • 二、在resources目录下新建三个目录,对应上面三个id,在其中写相应配置文件。当公用的配置文件中存在与各环境的配置文件同名的变量时,公用中的将被覆盖。
  • 三、配置活动的profile.active:在resources中排除各个目录,防止程序一运行系统就把resources下的所有配置文件都搜出来加载了;排除完了就配置个活动的目录,可以传入不同的参数来指定profile。当程序运行在不同环境(通过maven命令的-p指定不同profile的id来构建不同的运行环境(可参见第五点)),激活不同的profile。
  • 四、修改访问地址:url属性其实就是修改访问地址,使每种运行环境都对应一个网址,输入不同的网址进入不同的运行环境。不过这个deploy.url之前定义在哪里了文中好像没有体现。
  • 五、用maven命令运行程序,-p定义id值,通过id值找到resources下以id值为名的目录,加载里面的配置文件。

    作用

  • 我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。有没有一种方法能够让我们不用修改配置就能发布到不同的环境中呢?当然有,这就是maven中的Profiles能做到的事。

    代码实例

  • SpringMvc02/controller/TaskController、domain/impl/DevDBConnector、TestDBConnector、inter/DBConnector