多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > Webx框架:AutoConfig

Webx框架:AutoConfig

來源:程序員人生   發布時間:2015-01-14 08:29:21 閱讀次數:8635次

AutoConfig

AutoConfig是1個小工具,用于解決不同機器之間配置不同的問題。有時候有些配置,比如數據庫地址、緩存地址等,這些配置與環境有關。每次在不同的環境中都需要重新修改配置,比較麻煩。解決這個問題有兩種方法,1種是通過maven中的filter工具,另外1種是使用autoconfig。maven-filter工具的缺點是,當項目編譯打包以后,沒法再修改配置文件。而autoconfig可以通過1個腳本指令,直接修改打包過的配置文件,不需要重新編譯,這樣節省了很多時間。

接下來介紹用法,包括開發階段和部署階段。開發階段首先在META-INF文件夾中增加autoconf/auto-config.xml文件。下面是該文件的示例內容:

<?xml version="1.0" encoding="UTF⑻"?>
<config>
  <group>
    <property name="petstore.work" description= "利用程序的工作目錄" />
    <property name="petstore.loggingRoot" defaultValue="${petstore.work}/logs" description= "日志文件目錄" />
    <property name="petstore.upload" defaultValue="${petstore.work}/upload" description="上傳文件的目錄" />
    <property name="petstore.loggingLevel" defaultValue="warn" description="日志文件級別" >
      <validator name="choice" choice="trace, debug, info, warn, error" />
    </property>
  </group>
  <script>
    <generate template="WEB-INF/web.xml" />
    <generate template="WEB-INF/common/resources.xml" />
  </script>
</config>

下面是每一個標簽的解釋:

property標簽。有name/defaultValue/description/required屬性。顧名思義,這里就不贅述了。

validator標簽。用于驗證參數是不是填寫正確。支持的驗證器有以下幾種。

<validator name="boolean" />
<validator name="choice" choice="trace, debug, info, warn, error" />
<validator name="email" />
<validator name="fileExist" [file="WEB-INF/web.xml"/> 文件必須存在
<validator name="hostExist" /> 合法IP
<validator name="keyword" /> 只能由字母數字下劃線組成
<validator name="number" />
<validator name="regexp" regexp="..."/>

generate標簽。表示替換該文件中的placeholder。有template/destfile/charset/outputCharset參數。

在maven中加入autoconfig

<build>
    <plugins>
        <plugin>
            <groupId>com.alibaba.citrus.tool</groupId>
            <artifactId>autoconfig-maven-plugin</artifactId>
            <version>1.2</version>
            <configuration>
                <!-- 要進行 AutoConfig 的目標文件,默許為${project.artifact.file}。
                <dest>${project.artifact.file}</dest>
                -->
                <!-- 配置后,是不是展開目標文件,默許為false,不展開。
                <exploding>true</exploding>
                -->
                <!-- 展開到指定目錄,默許為 ${project.build.directory}/ ${project.build.finalName}。
                <explodedDirectory>
                ${project.build.directory}/${project.build.finalName}
                </explodedDirectory>
                -->
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>autoconfig</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

部署階段。首先從網上下載autoconfig工具:

  • antx-autoconfig⑴.2.tgz
  • antx-autoexpand⑴.2.tgz

安裝到系統目錄,比如/usr/local/bin中。

配置利用包。下面的命令將會修改test.war中的配置文件,將placeholder直代替換成屬性值。

autoconfig test.war

autoconfig test.war test-configured.war

如果希望有的placeholder不被替換,可使用${D{myprop}}

同享參數。有些利用使用的相同的參數,就能夠通過這個選項,1次配置,多方使用。

autoconfig -s share1.properties,share2.properties test.war

同享參數還可以援用網絡上的配置文件,可以有多套默許配置。

其他命令。

autoconfig -i on # 交互模式 
autoconfig -i off
autoconfig -u file.xml # 配置file.xml文件 
autoconfig -c GBK # 設置編碼 

AutoExpand

用于嵌套展開1個利用包。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产高清吃奶成免费视频网站 | 一级做a爰片久久毛片欧美 一级做a爰片久久毛片人呢 | 色阁在线 | 老司机午夜在线视频免费观 | 一区二区三区国产 | 精品日韩一区二区 | 高清中文字幕视频在线播 | 999精品久久久中文字幕蜜桃 | 国产成人啪午夜精品网站男同 | 午夜影院免费 | 最近免费中文字幕大全免费 | 国产69精品久久 | 18欧美乱大交 | xxxxx日本护士xxxhd| 成人a级高清视频在线观看 成人a毛片高清视频 | 婷婷在线成人免费观看搜索 | 一级做a爱片性色毛片武则天五则 | 国产无限资源在线观看 | 亚洲视色 | 国产精品久久永久免费 | 自拍偷拍另类 | 国产suv精品一区二区四区三区 | 精品一区二区三区四区乱码90 | 亚洲天堂久 | 久久精品一区二区免费看 | www.日本在线观看 | 欧美精品1区2区 | 久久精品桃花综合 | 欧美日韩精品 | 亚洲视频一区二区 | 亚洲日产2021三区在线 | 真实男女xx00动态视频120秒 | 日本成人一区二区三区 | 中文字幕日韩精品一区口 | 午夜精品久久久久久久2023 | 美女啪啪91| 99精品国产一区二区三区 | 日本怡春院欧美一区二区三区 | 午夜dj在线观看免费视频 | 免费视频网站在线看视频 | 国产专区自拍 |