java - txt - Cómo hacer eco de la variable de ruta de clase a un archivo
ruta relativa java (2)
Directamente a través de:
<echo file="${dist.dir}/deps.txt">${ant.refid:main.class.path}</echo>
<!-- or -->
<echo file="${dist.dir}/deps.txt">${toString:main.class.path}</echo>
$ {ant.refid: main.class.path} o $ {toString: main.class.path} es una propiedad csv que contiene todos los elementos de su ruta con sus conjuntos de archivos anidados (en general, colecciones de datos) separados con ''; ''
Ver propiedades manuales de Ant y PropertyHelpers
Si desea otro separador, debe usar pathconvert que tiene un pathsep attribute
, es decir, para una nueva línea después de cada archivo en su deps.txt use pathsep="${line.separator}"
Estoy intentando que todos los contenidos de mi ruta de clase principal sean escritos en un archivo por mi compilación Ant:
<path id="main.class.path">
<fileset dir="${lib.main.dir}">
<include name="**/*.*"/>
</fileset>
</path>
Cuando main.class.path
el main.class.path
sobre main.class.path
, Ant / Eclipse lanza una información sobre herramientas que muestra los elementos en esa classpath:
C: / Users / miUsuario / workbench / eclipse / workspace / myProj / lib / main / ant-junit-1.6.5.jar
etc. (La lista real tiene alrededor de 30 JARs en ella).
Quiero que esta lista se escriba en un archivo llamado deps.txt en mi directorio dist/
.
Estoy atascado porque no puedo averiguar cómo hacer main.class.path
una variable Ant, o cómo al menos acceder a ella en la tarea <echo>
:
<echo file="${dist.dir}/deps.txt" message="${???}"/>
¿Estoy aquí fuera de la base, o incluso de forma remota cerca?
Y para aquellos de ustedes que, en lugar de responder a esta pregunta, solo comentarán ¿Por qué querrían hacer esto? Mi respuesta es simple: solo quiero un pequeño archivo de texto en mi JAR que sirva como recordatorio visual (para mi futuro) de lo que son sus dependencias.
Prueba esto:
<pathconvert property="expanded.main.class.path" refid="main.class.path"/>
<target name="everything">
<echo message="${expanded.main.class.path}"
file="${dist.dir}/deps.txt"/>
</target>