黑马程序员技术交流社区

标题: 【郑州校区】Java之品优购课程讲义_day20(5) [打印本页]

作者: 谷粒姐姐    时间: 2018-11-5 10:58
标题: 【郑州校区】Java之品优购课程讲义_day20(5)
资源过滤与变量替换
修改 pom.xml ,在 build 节点中添加如下配置
[AppleScript] 纯文本查看 复制代码
 <filters> 
    <filter>src/main/resources/filters/db_${env}.properties</filter>
   </filters>
   <resources>
    <resource>
     <directory>src/main/resources</directory>
     <filtering>true</filtering>
    </resource>     
   </resources>

这里我们利用 filter 实现对资源文件(resouces) 过滤  maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替 换,最终把你的资源文件中的 username=${key}替换成 username=value  
2.3.4 打包
在 pinyougou-dao 工程 执行命令:package -P pro ,  解压生成的 jar 包,观察 db.properties 配置文件内容,已经替换为生产环境的值。
在 pinyougou-sellergoods-service 工程 执行命令 pageage  ,解压生成的 war 包里的
pinyougou-dao 的 jar 包,发现也是生成环境的值。
2.3.5 测试运行
【1】连接生产数据库
(1)在 pinyougou-dao 工程执行命令:install -P pro
(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run  
(3)在 pinyougou-shop-web :  执行命令:tomcat7:run
【2】连接开发数据库
(1)在 pinyougou-dao 工程执行命令:install -P dev  (或 install   )
(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run  
(3)在 pinyougou-shop-web :  执行命令:tomcat7:run
2.4 切换注册中心连接配置
2.4.1 集中配置注册中心地址
(1)在 pinyougou-common 工程中 properties 下创建 dubbox.properties
[AppleScript] 纯文本查看 复制代码
address=192.168.25.135:2181 

(2)Spring 目录下创建 spring 配置文件 applicationContext-dubbox.xml 配置如下:
[AppleScript] 纯文本查看 复制代码
<dubbo:registry protocol="zookeeper" address="${address}"/> 

(3)所有的服务工程与 web 工程都要依赖 pinyougou-common . 并删除每个工程中关于注 册中心地址的配置   
(4)安装 pinyougou-common 到本地仓库,然后测试运行。
2.4.2 MavenProfile 配置
(1)在 pinyougou-common 工程中创建 filters 目录 ,目录下建立 dubbox_dev.properties
[AppleScript] 纯文本查看 复制代码
env.address=192.168.25.135:2181 

(2)建立 dubbox_pro.properties
[AppleScript] 纯文本查看 复制代码
env.address=192.168.25.136:2181

(3)修改 dubbox.properties
[AppleScript] 纯文本查看 复制代码
address=${env.address} 

(4)修改 pinyougou-common 的 pom.xml
[AppleScript] 纯文本查看 复制代码
<properties> 
  <env>dev</env>  
</properties>
<profiles>
<profile>
  <id>dev</id>
  <properties>
   <env>dev</env>
  </properties>
</profile>
<profile>
  <id>pro</id>
  <properties>
   <env>pro</env>
  </properties>
</profile>
</profiles>  
.............................
<build>
  <filters>
   <filter>src/main/resources/filters/dubbox_${env}.properties</filter>
  </filters>
  <resources>
   <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
   </resource>  
  </resources>  
  </build>








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2