También sugeriría usar algún tipo de herramienta de compilación ( Ant o Maven , Ant ya está sugerido y es más fácil comenzar con él) o un IDE que maneja la compilación (Eclipse usa compilación incremental con estrategia de conciliación, y ni siquiera tiene que hacerlo cuidado de presionar cualquier botón "Compilar" ).
Usando Javac
Si necesita probar algo para un proyecto más grande y no tiene ninguna herramienta de compilación adecuada cerca, siempre puede usar un pequeño truco que javac
ofrece: los nombres de clase para compilar se pueden especificar en un archivo. Simplemente tiene que pasar el nombre del archivo javac
con el @
prefijo.
Si puede crear una lista de todos los *.java
archivos en su proyecto, es fácil:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- La ventaja es que es una solución rápida y fácil.
- El inconveniente es que tiene que regenerar el
sources.txt
archivo cada vez que crea una nueva fuente o cambia el nombre de un archivo existente, lo cual es una tarea fácil de olvidar (propensa a errores) y agotadora.
Usando una herramienta de construcción
A la larga, es mejor usar una herramienta diseñada para crear software.
Usando hormiga
Si crea un build.xml
archivo simple que describe cómo construir el software:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
Puede compilar todo el software ejecutando el siguiente comando:
$ ant
- La ventaja es que está utilizando una herramienta de compilación estándar que es fácil de ampliar.
- El inconveniente es que debe descargar, configurar y aprender una herramienta adicional. Tenga en cuenta que la mayoría de los IDE (como NetBeans y Eclipse) ofrecen un gran soporte para escribir archivos de compilación, por lo que no tiene que descargar nada en este caso.
Usando Maven
Maven no es tan trivial de configurar y trabajar, pero aprenderlo paga bien. Aquí hay un gran tutorial para comenzar un proyecto en 5 minutos .
- Su principal ventaja (para mí) es que también maneja las dependencias, por lo que no necesitará descargar más archivos Jar y administrarlos a mano y lo encontré más útil para construir, empaquetar y probar proyectos más grandes.
- El inconveniente es que tiene una curva de aprendizaje empinada, y si a los complementos de Maven les gusta suprimir errores :-) Otra cosa es que muchas herramientas también funcionan con repositorios de Maven (como Sbt para Scala, Ivy para Ant, Graddle para Groovy) .
Usando un IDE
Ahora que lo que podría impulsar su productividad de desarrollo. Hay algunas alternativas de código abierto (como Eclipse y NetBeans , prefiero las primeras) e incluso comerciales (como IntelliJ ) que son bastante populares y potentes.
Pueden administrar la construcción del proyecto en segundo plano para que no tenga que lidiar con todas las cosas de la línea de comandos. Sin embargo, siempre resulta útil si sabe lo que sucede realmente en segundo plano para poder detectar errores ocasionales como a ClassNotFoundException
.
Una nota adicional
Para proyectos más grandes, siempre se recomienda utilizar un IDE y una herramienta de compilación. El primero aumenta su productividad, mientras que el segundo hace posible utilizar diferentes IDEs con el proyecto (por ejemplo, Maven puede generar descriptores de proyecto Eclipse con un simple mvn eclipse:eclipse
comando). Además, tener un proyecto que se pueda probar / construir con un solo comando de línea es fácil de presentar a nuevos colegas y, por ejemplo, en un servidor de integración continua. Pedazo de pastel :-)