1. Descripción general
ANT es una herramienta que conecta la compilación de software, las pruebas, la implementación y otros pasos para automatizar, principalmente para el desarrollo de software en el entorno Java. En el desarrollo real de software, hay muchos lugares para usar Ant.
Entorno de desarrollo:
Copiar código del código de la siguiente manera:
Sistema: Windows
JDK: 1.6+
IDE: eclipse
Ant: 1.9.1
Segundo, ventajas
ANT es un subproyecto en el directorio de Jakarta de la Fundación Apache Software tiene las siguientes ventajas:
1. Plataforma cruzada: Ant está escrita en lenguaje Java puro, por lo que tiene una buena plataforma cruzada.
2. Operación simple: Ant está compuesta por una tarea construida y una tarea opcional. ANT requiere un archivo XML (construir archivos). ANT puede ejecutar varias tareas llamando al árbol de destino. Cada tarea implementa objetos de interfaz específicos.
3. Mantenimiento simple, buena legibilidad y simplemente integrado: debido a que los archivos de hormigas construidos, los archivos de formato XML son fáciles de mantener y escribir, y la estructura es muy clara. ANT puede integrarse en el entorno de desarrollo. Debido a la plataforma cruzada de Ant y las características de operación simples, es fácil de integrar en algunos entornos de desarrollo.
Tercero, instalación y configuración
1. Descargue Ant, http://mirror.esocc.com/apache/ant/binaries/apache-nt -nt-9.1-bin.zip
2. Descomprima el paquete de compresión zip y coloque el paquete comprimido que desea colocar el directorio que desea colocar. Lo coloco aquí en D: /apache-AT-1.9.1, la estructura del directorio es la siguiente:
Bin es un programa de hormigas que ejecuta la entrada.
Tales como: Ejecutar Ant.Bat en CMD para ejecutar el programa.
Todas las plantillas de salida XSL se almacenan en el directorio ETC, creando una salida XML de exportación mejorada de varias tareas, de modo que sus archivos de compilación eliminen advertencias obsoletas
Lo que se almacena en el directorio de lib es el paquete JAR que el programa de hormigas debe depender
El directorio manual es el documento de ayuda del programa de hormigas
3. En mi computadora> Haga clic derecho en propiedades> Configuración avanzada del sistema-> Configurar hormiga en las variables de entorno
Nueva variable del sistema ant_home = d: /apache-at-1.9.1
De esta manera, la variable de entorno está configurada, pero la premisa que necesita para configurar la variable de entorno de JDK. Si no configura la variable de entorno de JDK, primero configure la variable JDK. El método de configuración de entorno JDK es el siguiente:
(1) Instale JDK en su directorio predeterminado: C:/Archivos de programa/Java/JDK1.5.0_05 (no JDK va a la descarga oficial uno)
C:/archivos de programa/java/jdk1.5.0
Fol: dígale al sistema JVM ¿Dónde está JVM?
(2) Haga clic con el derecho de mi computadora, seleccione Atributos, Variables Avanzadas y Ambientales
(3) Recientemente construido en la barra variable del sistema, aparece un nuevo cuadro de diálogo variable del sistema, y Java_Home se llena en el nombre de la variable, valor variable: c:/archivos de programa/java/jdk1.5.0_05
(4) Después de la confirmación, cree una nueva variable de entorno en la (s) columna (s) de la variable (s) del sistema.
(5) Después de la confirmación, busque y seleccione la opción con la ruta de variable como en la columna de variables del sistema.
%Java_home%/bin
Si no se encuentran variables de ruta, ¡cree una nueva usted mismo!
Si no desea ejecutar al directorio donde se encuentra la clase cada vez que se ejecuta, y luego ejecutar el comando Java, puede colocar todos los archivos de clase en la organización de directorio unificado y luego agregar este directorio a classpath.
El código de prueba es el siguiente:
Copiar código del código de la siguiente manera:
Prueba de clase pública {
Public static void main (string [] args) {{
System.out.println ("¡Hola mundo!");
}
}
Después de que el editor del bloc de notas se edite como un archivo test.java (el nombre del archivo y el mismo nombre), abra la ventana de la línea de comando,
CD al directorio donde se encuentra el archivo:
Copiar código del código de la siguiente manera:
Javac test.java // compilar comandos
prueba de Java // ejecutar programa
Si la salida es: ¡Hola mundo!
Cuarto, prueba de hormiga
Ingrese la hormiga en la ventana DOS que ejecuta CMD, como se muestra en la figura:
Si esto aparece, ¡felicidades por su instalación! De lo contrario, fallará y verificará los pasos anteriores mal. El comando anterior ejecutará el programa de hormiga y Ant realiza la tarea en Build.xml de forma predeterminada.
Si la instalación falla, vea si hay algunas situaciones:
1. No existe configuración Java_Home o Configuración, y Java_Home/Bin/Java.exe
2. Sin configuración Ant_hoem o error de configuración, y Ant_Home/bin/Ant.Bat existe
3. Verifique las variables de ruta de sus variables de entorno, hay madera y configuración ...;%ang_home%/bin;
%Ruta%= ... tal vez otras entradas ...;%Ant_home%/bin;
5. El funcionamiento de la hormiga
Cuando Ant ejecuta el comando, a veces habrá algunas bibliotecas de parque. Estas bibliotecas existirán en cada proyecto de hormigas, por lo que en este momento podemos poner este paquete JAR en el directorio Ant_home/Lib como biblioteca global.
Si no desea "contaminar" el programa de hormiga original, puede colocar el paquete JAR en el directorio de usuario de Windows actual. Sin el directorio anterior, se puede establecer manualmente.
Si solo desea agregar LIB temporalmente y no quiere agregar LIB a la ingeniería de hormigas actual. Puede especificar el parámetro LIB dependiente al ejecutar el programa HENT.
Al mismo tiempo, también puede agregar su proyecto al paquete JAR en el directorio ClassPath del proyecto de compilación actual.
6. Comando de hormigas
La descripción del elemento gramatical es la siguiente:
-Ayuda
Muestre la información de ayuda del comando hormiga y sus opciones
-Projectthelp
La pantalla contiene el documento de ayuda escrito por todos los usuarios en el archivo constructivo. Es decir, el texto del atributo de descripción en cada <Target>, y cualquier texto incluido en el elemento <Scuion>. El objetivo del atributo de descripción es el objetivo principal (objetivo principal), y el objetivo sin este atributo se enumera como un subtarget.
-Versión
Se requiere mostrar la información de su versión y luego salir.
-tranquilo
La inhibición no es la mayor parte de las noticias generadas por la tarea Echo en el archivo de construcción.
-verboso
Muestre los mensajes detallados de cada operación durante el proceso de construcción. Esta opción solo se puede seleccionar con la opción -debug.
-Depurar
Mostrar hormigas y desarrolladores de tareas ya han marcado mensajes para depurar mensajes. Esta opción solo puede elegir una de ellas con -verbosa.
-emacs
Formatear los mensajes de registro para que puedan ser analizados fácilmente por el moderno de Emacs;
-Logfile nombre de archivo
Restablezca la salida de registro al archivo especificado.
-Logger classname
Especifique una clase para procesar el registro de Ant. La clase especificada debe implementar org.apache.tools.ant.buildlogger interfaz.
-Listener classname
Declarar una clase de monitoreo y aumentarla a su lista de oyentes. Esta opción es muy útil cuando se integran Ant and IDE u otros programas Java. Puede leer el Capítulo 6 para comprender más información sobre el supervisor. La clase de escucha especificada debe escribirse como el procesamiento del mensaje de construcción que puede manejar Ant.
-BuildFile Nombre de archivo
Especifique el archivo de construcción que necesita procesar. El archivo de construcción predeterminado es build.xml.
-Dproperty = valor
Defina un par de nombre de nombre característico en la línea de comando.
-Enconde el nombre de archivo
Especifique el archivo de construcción que debe procesarse. A diferencia de las opciones de File -Build, si el archivo especificado no se encuentra en el directorio actual, el -find requiere buscar en su directorio principal. Esta búsqueda continuará realizándose en su directorio ancestral hasta la raíz del sistema de archivos, y si no se ha encontrado el archivo, la construcción falla.
-Tuoproxy jdk1.5 o más puede usar la configuración del agente
-NoUserLib no usa el paquete jar en el usuario lib cuando se ejecuta
-Redina de hilo principal de diseño de nombre
-logFile usa el registro de registro especificado
-NoInput no permite la entrada interactiva
-Lake -Reing, -k La ejecución no depende de todos los objetivos
-PropertyFil
Copiar código del código de la siguiente manera:
<Project Default = "All">
<propiedad name = "pro_a" valor = "un valor" />
<propiedad name = "pro_b" value = "b valor" />
<path id = "rt.phth">
<Pathelement local = "$ {java.home} /jre/lib/rt.jar"/>
</prak>
<Target Name = "All">
<javac srcdir = ".">
<classpath refid = "a.path" />
</javac>
</Target>
</ject>
Aviso:
● Todos los archivos constructivos deben tener elementos <sectores>, y al menos un elemento <Target>.
● El atributo predeterminado para el elemento <Sector> no necesariamente requiere el valor predeterminado.
● Los archivos de construcción no tienen que llamarse build.xml. Pero Build.xml es el nombre de archivo predeterminado que las hormigas quieren buscar.
● Cada archivo de construcción solo puede tener un elemento <Proyecto>.
Ingrese el código de copia del directorio Build.xml actual en la ventana CMD de la siguiente manera:
hormiga
Ejecute Ant en build.xml en el directorio actual para realizar objetivos predeterminados.
Copiar código del código de la siguiente manera:
Ant -BuildFile Build -test.xml
Ejecute Ant en Build-test.xml en el directorio actual para ejecutar el objetivo predeterminado.
Copiar código del código de la siguiente manera:
Ant -BuildFile Build -test.xml Clean
Ejecute Ant en el Built-Test.xml en el directorio actual y ejecute un objetivo llamado Clean.
Copiar código del código de la siguiente manera:
Ant -BuildFile Build -test.xml -Dbuild = Build/Classes Clean
Ejecute Ant en el Built-Test.xml en el directorio actual, ejecute un objetivo llamado Clean y establezca el valor del atributo de compilación en Build/Classes.
7. Script Ant: use nodos, elementos y atributos, instrucciones de comando
1. Elemento de nodo del proyecto
El elemento del proyecto es el elemento raíz del archivo de componente de hormiga. En cada elemento de proyecto, se pueden incluir múltiples elementos objetivo. Siguiente programa Lectores Los atributos del elemento del proyecto.
● Atributos de nombre: el nombre para especificar el elemento del proyecto.
● Atributo predeterminado: el nombre de la ejecución de destino del DearGet cuando el proyecto se ejecuta de forma predeterminada.
● Atributo BaseIr: utilizado para especificar la posición de la ruta base. Cuando no se especifica este atributo, el archivo adjunto del archivo de componente de hormiga se utiliza como directorio de referencia.
Copiar código del código de la siguiente manera:
<? Versión XML = "1.0"?>
<Project name = "Ant-Project" Default = "Print-Dir" Bases = ".">
<Target Name = "Print-Dir">
<Echo Message = "El Dia base es: $ {BaseIR}" />
</Target>
</ject>
Se puede ver en el ejemplo anterior que el valor de la propiedad predeterminada es impreso aquí, es decir, cuando se ejecuta el comando hormigo, si no se indica el objetivo, se ejecutará el objetivo predeterminado (print-di). Además, el valor del atributo a base de base es ".
2. Elemento de nodo de destino
El objetivo es la unidad de ejecución básica o la tarea de ANT, que puede contener una o más unidades/tareas específicas. Múltiples objetivos pueden tener dependencia mutua. Tiene los siguientes atributos:
● Atributo de nombre: especifique el nombre del elemento de destino, que es único en un elemento de proyecto. Podemos especificar un objetivo especificando el nombre del elemento de destino.
● Depende del atributo: se usa para describir la relación de dependencia entre los objetivos. ANT ejecutará cada objetivo de acuerdo con el orden de objetivo en la propiedad Depends, y el objetivo dependiente se ejecutará primero.
● Si el atributo: se usa para verificar que el atributo especificado exista.
● A menos que el atributo: la función de este atributo es lo opuesto a la función del atributo if también se usa para verificar si el atributo especificado existe.
● Atributo de descripción: este atributo es una breve descripción y descripción de la función de destino.
Ejemplo:
Copiar código del código de la siguiente manera:
<? Versión XML = "1.0"?>
<Project name = "antimimateget" default = "print">
<Target Name = "Version" if = "Ant.java.version">
<echo mensaje = "versión java: $ {ant.java.version}" />
</Target>
<Target Name = "Pint" depends = "Version" a menos que = "Docs">
<Scuion>
¡Un ejemplo dependiente!
</descripción>
<Echo Message = "El Dia base es: $ {BaseIR}" />
</Target>
</ject>
A partir de los siguientes resultados, podemos ver que estamos ejecutando el objetivo de la impresión. 1.6 ", después de ejecutar la versión, luego se ejecuta porque los documentos no existen, y el atributo a menos que el atributo ingrese al objetivo cuando no hay existencia. Se puede ver que la impresión puede ejecutar la ejecución de la ejecución, la información de salida:" [echo] el Dir base IS: D: D:/Workspace/Antexample/Build ".
3. Elemento de nodo de atributo de propiedad
Los elementos de la propiedad pueden considerarse como una definición de parámetros o parámetros. Si desea introducir un archivo afuera, como los archivos build.properties, puede cotizarlo por el siguiente contenido:
<Propiedad File = "Build.Properties"/>/>
Los elementos de propiedad se pueden usar como el valor de atributo de la tarea. En la tarea, se logra colocando nombres de atributos entre $ {nombre de atributo} y se coloca en la posición del valor de atributo de tarea.
Ant proporciona algunos atributos construidos. Al mismo tiempo, Ant también proporciona algunos de sus propios atributos construidos, como sigue:
Basado: la ruta absoluta de la lista base del proyecto;
Ant.file: la ruta absoluta de BuildFile.
Ant.version: Información de la versión de hormiga, este artículo es 1.8.1;
Ant.project.name: el nombre del proyecto especificado actual, es decir, el valor de la propiedad del nombre del proyecto mencionado anteriormente;
Ant.java.version: la versión JDK detectada por Ant, este artículo es 1.6.
Por ejemplo, como sigue:
Copiar código del código de la siguiente manera:
<Project name = "Ant-Project" Default = "Ejemplo">
<propiedad name = "name" value = "JoJo" />
<propiedad name = "edad" value = "25" />
<Target Name = "Ejemplo">
<echo mensaje = "nombre: $ {name}, edad: $ {edad}" />
</Target>
</ject>
En el ejemplo anterior, el usuario establece dos atributos llamados nombre y edad.
4. Comando de copia
La copia se usa principalmente para copiar el archivo y el directorio. Por ejemplo, como sigue:
● Copiar un solo archivo:
Copiar código del código de la siguiente manera:
<Copiar archivo = "Old.txt" tofile = "new.txt"/>
● Copiar el directorio de archivos:
Copiar código del código de la siguiente manera:
<Copiar Today = "../ Dest_dir">
<fileset dir = "src_dir"/>
</popy>
● Copie el archivo a otro directorio:
Copiar código del código de la siguiente manera:
<Copiar archivo = "src.txt" toDir = "c:/base"/>
5. Eliminar el comando
Eliminar el archivo o el directorio, como sigue:
● Eliminar un archivo:
Copiar código del código de la siguiente manera:
<delete file = "/Res/images/cat.jpg"/>
● Eliminar un directorio:
Copiar código del código de la siguiente manera:
<delete dir = "/res/image"/>
● Eliminar todos los archivos JAR o directorio vacío:
Copiar código del código de la siguiente manera:
<Eliminar incluido EXPEMPYDIRS = "True">
<fileset dir = "." Incluye = "**/*. jar"/>
</leele>
6. Comando Mkdir
Crear un directorio.
Copiar código del código de la siguiente manera:
<mkdir dir = "/home/philander/build/classes"/>/>
7. Mueva el comando
Mueva archivos o directorio, como sigue:
● Mueva un solo archivo:
Copiar código del código de la siguiente manera:
<mude file = "fuente" tofile = "destfile"/>/>
● Mueva un solo archivo a otro directorio:
Copiar código del código de la siguiente manera:
<mude file = "fuente" toDir = "Movedir"/>/>
● Mueva un directorio a otro directorio:
Copiar código del código de la siguiente manera:
<Move Today = "NewDir">
<fileset dir = "olddir"/>
</mete>
8. Comando de eco
El papel de esta tarea es generar información basada en el nivel del registro o el monitor. Incluye cuatro atributos: mensaje, archivo, apert y nivel.
<Echo Message = "Ant Message" file = "/Logs/ant.log" append = "true">
9. Elemento de nodo de etiqueta jar
Esta etiqueta se usa para generar un archivo JAR, que es el siguiente.
● Destfile indica el nombre del archivo JAR.
● BaseIR representa el nombre de archivo del archivado.
● Incluye indica el modo de archivo de no archivar.
● Los intercambios representan el modo de archivo de exclusión.
● La compresión indica si está comprimido.
Ejemplo:
Copiar código del código de la siguiente manera:
<jar destfile = "$ {webroot}/$ {ash_jar}" nivel = "9" compresión = "true" encoding = "utf-8" basado = "$ {dest}">
<gelifest>
<Atribute name = "Implementation-Value =" Versión: 2.2 "/>
</manifest>
</ar jar>
El MainFest anterior es el contenido del contenido del archivo en el manifiesto.mf en la carne-INF en el paquete jar
La misma operación de envasado es la guerra, TGZ y la operación de descompresión Uzip
Copiar código del código de la siguiente manera:
<!-Crea Zip->
<Zip Baseness = "$ {Basedir}/class" Zipfile = "temp/output.zip"/>/>
<!-Crear TGZ->
<gzip src = "classSes/**/*. Class" ZipFile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractDir"/>
<!-Crear paquete de guerra->
<War DestFile = "$ {Webroot} /ash.war" basado = "$ {BaseIR} /web" webXML = "$ {BaseIR} /web/web.xml" >>
<excluir name = "web-inf/classs/**"/>
<excluir name = "web-inf/lib/**"/>
<excluir name = "web-inf/work/_jsp/**"/>
<libir dir = "$ {lib.dir}" incluye = "**/*. Jar, **/*. Entonces, **/*. dll">
<excluir name = "$ {Webroot}/$ {helloworld_jar}"/>
</ib>
<Lib File = "$ {Webroot}/$ {helloword_jar}"/>
<classes dir = "$ {dest}" incluye = "**/*. xml, **/*. Properites, **/*. Xsd"> </scalseses>
</war>
10. Elemento de nodo de etiqueta Javac
La etiqueta se utiliza para compilar uno o un grupo de archivos Java, y sus atributos son los siguientes.
● SRCDIR representa el directorio del programa fuente.
● Destdir representa el directorio de salida del archivo de clase.
● Incluir representa el patrón del archivo compilado.
● Excluye representa el patrón de archivos que se excluyen.
● ClassPath representa la ruta de clase utilizada.
● La depuración representa información de depuración.
● La optimización indica si se debe usar la optimización.
● La verbosa representa información de salida detallada.
● FileOnerror dijo que se detuvo automáticamente cuando encontró un error.
Ejemplo de código de código de copia es el siguiente:
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Establecer la memoria JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" ejecutable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128m"/>
->
11. Elemento de nodo de etiqueta Java
Esta etiqueta se utiliza para ejecutar el archivo .class que se compiló, y sus atributos son los siguientes.
● ClassName representa el nombre de la ejecución.
● JAR significa el nombre del archivo JAR que contiene esta clase.
● ClassPath expresó la ruta de clase utilizada.
● Fork significa ejecutar esta clase en una nueva máquina virtual.
● FailonError dijo que se detuvo automáticamente cuando ocurrió un error.
● La salida indica el archivo de salida.
● APEND indica suma o cubre el archivo predeterminado.
Ejemplo de código de código de copia es el siguiente:
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
12. elemento de parámetro de datos de arg
El programa llamado por ANT puede pasar los parámetros de la línea de comando a través del elemento <rg>, como las tareas Aplication, Exec y Java que pueden aceptarse con elementos anidados <rg>, y pueden especificar los parámetros especificados para sus respectivos procesos . Aquí están todos los atributos de <gg>.
● Los valores son un parámetro de comando. Si hay un espacio en el parámetro, pero si desea usarlo como un valor único, use este atributo.
● El archivo representa un nombre de archivo de un parámetro. En la construcción de un archivo, el nombre de este archivo es relativo al directorio de trabajo actual.
● La línea indica múltiples parámetros del espacio separado por espacios.
● Exprese la ruta, una cadena tipo ruta que se usa como una sola variable de línea de comandos;
● Ruta referenciada de PathRef (usando la ruta de definición del nodo del elemento de ruta) ID
● Prefijo prefijo ● Sufijo sufijo
Ejemplo de código de código de copia es el siguiente:
<arg value = "-la -a"/>
Es una variable de línea de comando única que contiene espacio.
Copiar código del código de la siguiente manera:
<arg line = "-la -a"/>
Es la variable de línea de comando separada por dos espacios.
Copiar código del código de la siguiente manera:
<arg path = "/dir;/dir2:/dir3"/>
Es una variable de línea de comando, y su valor es/dir;/dir2;/dir3 en el sistema DOS;/dir:/dir2:/dir3 en el sistema Unix.
13. Tipo de ericonment
Los comandos o programas externos llamados el archivo llamado por Ant, y el elemento <env> formula qué variables de entorno deben pasar a los comandos del sistema que se están ejecutando.
● El archivo representa el nombre del archivo del valor del valor ambiental. El nombre de este archivo es una ruta absoluta a convertir.
● La ruta representa la ruta de la variable de entorno. Ant lo convertirá en un acuerdo local.
● El valor representa una variable directa de la variable de entorno.
● La clave significa nombre de variable ambiental.
Preste atención a la ruta o valor del archivo que solo puede tomar uno.
14. Lista de recopilación de archivos filelistas
Filelist es un tipo de datos que admite las listas de archivos de nombres. Aquí están todos sus atributos.
● DIR es un directorio para calcular el nombre de archivo absoluto.
● Los archivos son una lista de archivos separados por coma.
● Refid es una referencia a un <filelista> definido en un lugar determinado.
Tenga en cuenta que DIR y los archivos son necesarios, a menos que Dir y los archivos no puedan usarse a menos que se especifiquen en este caso).
Ejemplo de código de código de copia es el siguiente:
<filelist id = "docfiles" dir = "$ {doc.src}" archivos = "foo.xml, bar.xml"/>
Colección de archivos $ {doc.src} /foo.xml y $ {doc.src} /bar.xml.
<filelist id = "docfiles" dir = "$ {doc.src}" archivos = "foo.xml bar.xml"/>
<filelist refid = "docfiles"/>
<filelist id = "docfiles" dir = "$ {doc.src}">
<file name = "foo.xml"/>
<file name = "bar.xml"/>
</filelist>
15. Tipo de archivo de archivo de archivos
El tipo de datos de FileSet define un conjunto de archivos y generalmente se expresa como el elemento <Silset>. Sin embargo, muchas tareas de ANT han creado un conjunto de archivos ocultos, que muestra que admiten todos los atributos del conjunto de archivos y elementos anidados. La siguiente es una lista de atributos de FileSet.
● DIR representa el directorio base de Fileset.
● Si el valor de los casos de casos es falso, entonces cuando se coincide con el nombre del archivo, el conjunto de archivos no se distingue del caso, y su valor predeterminado es verdadero.
● DefaultExCludes se usa para determinar si se debe usar el modo de exclusión predeterminado, y el valor predeterminado es verdadero.
● Excluye una lista de patrones de archivos que debe enviarse con una separación de coma.
● ExcludesFile representa el nombre del archivo de un archivo que contiene un modo de exclusión por línea.
● Incluye está separada por una coma, y la lista de patrones de archivos que debe incluirse.
● Incluye File significa que cada fila incluye un nombre de archivo que contiene un modo.
Ejemplo de código de código de copia es el siguiente:
<fileset id = "lib.runtime" dir = "$ {lib.path}/runtime">
<incluir name = "**/*. Jar"/>
<incluye name = "**/*. Entonces"/>
<incluir name = "**/*. dll"/>
</fileset>
<fileset id = "lib.container" dir = "$ {lib.path}/contenedor">
<incluir name = "**/*. Jar"/>
</fileset>
<fileset id = "lib.extras" dir = "$ {lib.path}">
<incluye name = "test/**/*. jar"/>
</fileset>
16. Tipo de conjunto de patrones
FileSet es un paquete de archivos, y los patrones están empaquetados en patrones.
<MatternSet> admite 4 atributos: incluye, excludeex, includexfile, excludesfile, que son los mismos que el conjunto de archivos.
PatternSet también permite los siguientes elementos anidados: incluya, excluir, incluir File y ExcludesFile.
Ejemplo de código de código de copia es el siguiente:
<!-Lista en blanco y negro->
<Patternset id = "non.test.ources">
<incluir name = "**/*. java"/>
<!-El nombre del archivo contiene la exclusión de Test->
<excluir name = "**/*test*"/>
</patternset>
<Patternset id = "fuentes">
<incluir name = "std/**/*. java"/>
<!-Juzgando la condición de que hay una propeneracional para introducir->
<incluir name = "profesor/**/*. java" if = "profesional"/>/>
<excluir name = "**/*test*"/>
</patternset>
<!-un conjunto de archivos->
<Patternset OccioneFile = "Some-File"/>
<MatternSet>
<Incluye nombre de nombre = "Some-Free"/>
<Patternset/>
<MatternSet>
<Incluye nombre de nombre = "Some-Free"/>
<Incluye el nombre de File = "$ {Some-Meher-File}" if = "algo libre"/>
<Patternset/>
17. Tipo de Filterset
Filterset define un conjunto de filtros que reemplazan el texto del archivo cuando el archivo se mueve o copia.
Los atributos principales son los siguientes:
● Begintoken indica la marca buscada por el filtro anidado, que es una cadena que lo identifica.
● EndToken indica que la marca buscada por el filtro anidado es una cadena que identifica su final.
● ID es el único logotipo del filtro.
● Refid es una referencia a un filtro en algún lugar del archivo de construcción.
Ejemplo de código de código de copia es el siguiente:
<!-@date@es reemplazado por@date@a la fecha actual de hoy en el contenido del archivo versión.txt en el archivo de destino.
<Copiar archivo = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<SilTRESET>
<filtro token = "date" value = "$ {Today}"/>
</filterset>
</popy>
<!-Formato de variable personalizado->
<Copiar archivo = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<
<Filterset begintoken = "%" endToken = "*">
<filtro token = "date" value = "$ {Today}"/>
</filterset>
</popy>
<!-Use archivo de definición de filtro externo->
<Copiar hoy = "$ {Dist.Dir}/Docs">
<fileset dir = "$ {build.dir}/docs">
<incluir name = "**/*. Html">
</fileset>
<Filterset begintoken = "%" endToken = "*">
<!-Los atributos y valores de los archivos se introducen desde el exterior, y los atributos y valores de la próxima
<filtresfile file = "$ {user.dir} /dist.properties" />
</filterset>
</popy>
<!-Use el método de referencia, use repetidamente el conjunto de filtros->
<filterset id = "myFilterset" begintoken = "%" endToken = "*">
<filtro token = "date" value = "$ {Today}"/>
</filterset>
<Copiar archivo = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<Filterset Refid = "myFilterSet"/>
</popy>
18. Tipo de ruta
Los elementos de ruta se utilizan para representar una clase, pero también se puede usar para representar otras rutas. Cuando se usan como unos pocos atributos, se separan los diversos puntajes o colons en la Escritura de la carretera. Al construir, este separador reemplazará todos los separadores de ruta en la plataforma actual, y sus atributos son los siguientes.
● La ubicación representa un archivo o directorio. Ant expande esto en un camino absoluto internamente.
● Refid es una referencia a una ruta definida en el archivo constructivo actual.
● La ruta indica una lista de archivo o ruta.
Ejemplo de código de código de copia es el siguiente:
<path id = "buildPath">
<fileset refid = "lib.runtime"/>
<fileset refid = "lib.container"/>
<fileset refid = "lib.extras"/>
</prak>
<path id = "src.paths">
<fileset id = "srcs" dir = ".">
<incluir name = "src/**/*. java"/>
</fileset>
</prak>
8. El código del código de la compilación de la ingeniería de embalaje y ejecución es el siguiente: como sigue:
<? Versión XML = "1.0" Coding = "UTF-8"?>
<!-El nombre es el nombre del proyecto actual.
<Project name = "helloworld" default = "run" baseIR = ".">
<!-La propiedad es similar a una variable simple en el programa->
<propoperty name = "src" value = "src"/>
<propiedad name = "dest" value = "class"/>
<propiedad name = "hello_jar" value = "helloworld.jar"/>
<!-
Target es un evento, evento, tarea, nombre es el nombre de la cosa actual.
->
<!-Inicialización->
<Target Name = "init">
<!
<mkdir dir = "$ {dest}"/>
<mkdir dir = "temp"/>
<mkdir dir = "temp2"/>
</Target>
<!-compilación->
<Target name = "compilar" depends = "init">
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Establecer la memoria JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" ejecutable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128m"/>
->
</Target>
<!-<< 建->
<Target name = "build" depends = "compilar">
<!-
<jar jarfile = "$ {hello_jar}" basado = "$ {dest}"/>
Crea un nombre para el archivo paquete.jar
<jar destfile = "paquete.jar" baseIR = "classes"/>
->
<jar destfile = "$ {hello_jar}" basado = "classSes">
<!-Agregue contenido al archivo principal en el paquete JAR->
<gelifest>
<attribute name = "built-by" value = "$ {user.name}"/>
<attribute name = "main-class" value = "paquete.main"/>/>
</manifest>
</ar jar>
<!-Copiar el archivo jar toDir = "Copiar al directorio"->
<Copiar archivo = "$ {hello_jar}" tofile = "$ {dest} /temp.jar" />
<Copiar tOdir = "Test">
<!-defaultExCludes = ""->
<fileset dir = "src">
<incluir name = "**/*. java"/>
</fileset>
</popy>
<Copiar tOdir = "TEMP2">
<fileset dir = "src">
<Y>
<contener text = "main"/>
<size value = "1" when = "más"/>
</y>
</fileset>
</popy>
<!-Mobile Jar File->
<Move file = "$ {dest} /temp.jar" tofile = "temp/Move-Temp.jar"/>
<!-Crea Zip->
<Zip Baseness = "$ {Basedir}/class" Zipfile = "temp/output.zip"/>/>
<!-Crear TGZ->
<gzip src = "classSes/**/*. Class" ZipFile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractDir"/>
!
<reemplazar file = "input.txt" token = "Old" valor = "nuevo"/>
->
</Target>
<!
<Target Name = "Run" depende = "construir">
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
</Target>
<!-Clear->
<Target Name = "Clear">
<!-eliminó el archivo generado->
<Eliminar dir = "$ {dest}"/>
<eliminar archivo = "$ {hello_jar}"/>
</Target>
<Tstamp>
<Format Property = "offset_time"
patrón = "HH: MM: SS"
Offset = "10" unit = "minuto"/>
</tstamp>
<!-reiniciar->
<Target Name = "Raun" Depends = "Clean, ejecutar">
<echo mensaje = "### $ {tstamp}#$ {Today}#$ {dstamp} ###"/>
<me gusta a Target = "Clean"/>
<Me gusta Target = "Run"/>
</Target>
</ject>
Básicamente hay muchas cosas que decir. Ant no es difícil. Bajo ciertas circunstancias, se han mejorado la eficiencia y el trabajo repetido.