Copie automáticamente archivos y bibliotecas construidos con java, eclipse y hormiga
ant build (1)
Usted mencionó archivos jar, y en realidad son dependencias . Es posible que desee echar un vistazo a algún sistema de administración de dependencias como Ivy, o cambiar a Maven, si realmente no desea incluir esos archivos jar en su repositorio.
Y, alternativamente, siempre puede copiar las dependencias con las "secuencias de comandos" de compilación de Ant (aunque son XML, no realmente "secuencias de comandos").
¿Cómo puedo obtener eclipse para guardar los archivos de la clase construida en una ubicación externa (tengo una unidad asignada, o podría ser más de ssh / sftp / lo que sea)?
Es difícil pensar en una forma de resolver "cómo guardarlos en un lugar externo". Sin embargo, puede escribir un objetivo, utilizando la tarea <scp>
task (basada en ssh) o <ftp>
, para copiar los archivos después de ejecutar el edificio estándar.
Idealmente me gustaría tener eclipse para copiar automáticamente las clases y bibliotecas creadas usadas en otro directorio.
Eclipse tiene soporte integrado para Ant. No uso Eclipse, pero uso Netbeans. En Netbeans, un proyecto se construye con el archivo de compilación Ant generado por Netbeans. Además, puede personalizar el archivo de compilación, agregar sus propios objetivos y luego, puede ejecutar su propio objetivo dentro del IDE.
Por ejemplo, tiene un objetivo de build
, un objetivo de deploy
, un objetivo de run
. La primera es generada por Eclipse y no es necesario que se preocupe por ella, mientras que las últimas dos las escribe usted. Simplemente escriba otro objetivo, diga all
, y use <antcall>
para ejecutar los tres objetivos uno encima del otro. Y luego, en Eclipse, puede ejecutar directamente all
objetivos para obtener todas las cosas manejadas por Ant.
lo más ideal es ejecutarlo / matarlo automáticamente cuando hago clic en "ejecutar", aunque sospecho que podría ser demasiado optimista.
La máquina de destino es una máquina Linux, por lo que puede instalar el servidor SSH fácilmente con apt-get. Escribe dos objetivos en tu archivo de compilación de ant, uno se run
y el otro es kill
.
Dentro del objetivo de run
, puede usar <sshexec>
para ejecutar su aplicación. Lo único que debe tener cuidado es que las varibles del entorno definidas en esa máquina pueden no estar disponibles en la sesión ssh. Pero eso es solo un problema de configuración. Al menos puedes poner los varibles en /etc/environment
, aunque esa no es la mejor práctica.
El objetivo de kill
puede ser un poco más complicado. Sin embargo, en mi opinión, si puedes escribir un startup.sh
para iniciar una aplicación, siempre puedes escribir un stop.sh
para cerrarlo (echa un vistazo a catalina.sh de Tomcat).
Y también, el objetivo de kill
puede ser llamado dentro de tu Eclipse.
Estoy usando Java con eclipse en Windows 7, y estoy tratando de construir un programa de servidor que se ejecutará en otra máquina (ubuntu) en mi red.
¿Cómo puedo obtener eclipse para guardar los archivos de la clase construida en una ubicación externa (tengo una unidad asignada, o podría ser más de ssh / sftp / lo que sea)?
He creado un repositorio de git en esa máquina, por lo que los archivos de clase se guardan allí, sin embargo, las bibliotecas externas que estoy usando (que están en la ruta de compilación) no se guardan como parte del repositorio. Idealmente, me gustaría tener eclipse para copiar automáticamente las clases y bibliotecas creadas en otro directorio (y lo más ideal es que ejecute / elimine el programa automáticamente cuando hago clic en "ejecutar", aunque sospecho que eso también podría estar siendo demasiado). optimista).
Creo que la hormiga que creo que está instalada con eclipse puede hacer esto, pero no estoy seguro de cómo hacerlo.