運用Ant編譯Java程序的一個小實例

1. native2ascii.bat文件內容:
 
@echo off
@setlocal
set JAVA_HOME=%JDK6_HOME%
if "%JAVA_HOME%" == "" goto noJavaHome
 
SET CMD=%JAVA_HOME%\bin\java -Xms256m -Xmx512m -cp build\lib\ant.jar;build\lib\optional.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%
\jre\lib\rt.jar org.apache.tools.ant.Main
 
SET BUILD=%CMD% -buildfile native2ascii.xml
 
if "X%1"=="Xnative" goto native
 
:native
%BUILD% -propertyfile build.properties native
goto mainEnd
 
:noJavaHome
echo.
echo Warning: JAVA_HOME environment variable is not set.
echo   If build fails because sun.* classes could not be found
echo   you will need to set the JAVA_HOME environment variable
echo   to the installation directory of java.
echo.
 
:mainEnd
@endlocal
 
2. native2ascii.xml文件內容:
<?xml version="1.0" encoding="UTF-8"?>
<project name="MIT" default="native" basedir=".">
    <property name="dist.dir" value="./dist"/>
    <property name="webapp.dir" value="./web"/>
    <target name="native" >
        <echo message="Convert Resource Files"/>
        <!-- Convert Resource Files -->
        <native2ascii encoding="ISO-8859-1" src="${webapp.dir}/WEB-INF/classes/resources/en_US" dest="${dist.dir}/classes" includes="*.properties"/>
        <native2ascii encoding="GBK" src="${webapp.dir}/WEB-INF/classes/resources/zh_CN" dest="${dist.dir}/classes" includes="*.properties"/>
        <native2ascii encoding="GBK" src="${webapp.dir}/WEB-INF/classes/resources/zh_TW" dest="${dist.dir}/classes" includes="*.properties"/>
        <native2ascii encoding="ISO-8859-1" src="${webapp.dir}/WEB-INF/classes/resources/nl_NL" dest="${dist.dir}/classes" includes="*.properties"/>
        <native2ascii encoding="EUC-JP" src="${webapp.dir}/WEB-INF/classes/resources/ja_JP" dest="${dist.dir}/classes" includes="*.properties"/>       
    </target>
</project>
 
3. <project>元素有個default屬性,指定默認執行的target。即在執行native2ascii批處理文件時沒有傳入任何參數,則默認執行default中指定的任務。
 
4. 批處理中參數的傳遞
(1) 命令
D:\dev\RB-2.1.x-gx>native2ascii
是運行D:\dev\RB-2.1.x-gx目錄下的native2ascii.bat文件
 
(2)命令行中輸入:native2ascii native
往批處理文件native2ascii.bat中傳入參數native。
在給出的native2ascii.bat文件中,當傳入native參數,批處理程序會根據
if "X%1"=="Xnative" goto native
找到批處理塊:
:native
%BUILD% -propertyfile build.properties native
goto mainEnd
然後執行:
%BUILD% -propertyfile build.properties native
命令,這條命令裏的native,是傳遞給native2ascii.xml文件的參數,用於指定執行native2ascii.xml文件的哪個target。如果沒有這個參數,則默認執行native2ascii.xml文件中<project>元素的default屬性指定的target。
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章