程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Replace2 解決多環境部署問題

Replace2 解決多環境部署問題

編輯:關於JAVA

Replace2是我寫的一個ant 任務,ant內置的有一個replace任務,用於替換指定文件裡的某些內容,如log4j.propertIEs裡:

log4j.appender.Y.File =@@Log.FilePath@@

replace任務可以讀取一個屬性配置文件,如下內容

Log.FilePath = E:\temp\info.log

WebService = http://10.1.120.133:7001/XXX/BookService

這個Replace 任務有一個用法就是解決多環境部署,也就是說,如果你現在有一個測試系統,又有一個開發系統,它們連著不同的地址的數據庫,不同地址的 WebService,以及不同地址的FTP服務,那麼,你在部署的時候必須將這些內容寫到配置文件裡,手工寫比較繁瑣,而且容易出錯,一個好的辦法就是采用replace任務,只需要寫一個testenv.properties,再寫一個devlopenv.properties,裡面各包含了目標環境的配置信息,然後運行此,去替換可能的配置文件,如log4j.propertIEs,hibernate.cfg.XML 等等。如果還是很不好理解的話,可以參考http://ant.apache.org/manual/CoreTasks/replace.Html,了解它的用法後再看下文,否則更不好理解

Replace應用於多環境部署固然可以,不過卻忽略了開發的需要,想想看,如果log4j.appender.Y.File =@@Log.FilePath@@那麼你在調試程序的時候必然出錯。再比如,數據源的配置

@@JBDC.URL@@

@@JBDC.USER@@

@@JBDC.PWD@@

oracle.jdbc.driver.OracleDriver

那這也沒有辦法讓程序運行。

Replace2 是我寫的一個ant task,其目的正是兼顧多環境部署以及開發需要。用法同Replace,不同的地方是在於配置文件跟正常文件一樣,並且在上方多了一行注釋如下;# log4j.appender.Y.File = @@Log.FilePath@@ log4j.appender.Y.File = E:\temp\info.log

Replace2任務將根據注釋裡的內容替換緊接下一行的內容,如果env.propertIEs 裡的內容有Log.FilePath=/opt/xxx/data/logs/info.log 那麼替換後的文件內容就是

# log4j.appender.Y.File = @@Log.FilePath@@ log4j.appender.Y.File = /opt/xxx/data/logs/info.log.

這樣,即不影響正常開發,又會在部署,特別是多環境部署的時候起動作用。

下面是使用方法:

代碼在google上http://code.google.com/p/replace2/

預覽代碼http://code.google.com/p/replace2/source/browse/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved