A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

资源过滤与变量替换
修改 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> 
 
 


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马