Comstackndo múltiples paquetes usando la línea de comando en Java

Hola, he estado usando un IDE, pero ahora necesito ejecutarlo y comstackrlo desde la línea de comando.

El problema es que tengo varios paquetes y he intentado encontrar la respuesta, pero nada ha funcionado.

Así que tengo

src/ Support/ (.java files) Me/ (.java files) Wrapers/ (.java files) 

¿Sabes cómo comstackr todo con javac?

Esto debería hacerlo (puede requerir elementos de classpath adicionales a través del -cp línea de comando -cp ):

 javac Support/*.java Me/*.java Wrapers/*.java 

Pero si su proceso de comstackción se vuelve más complejo (¡y lo será!), Debería considerar utilizar Apache Ant para la automatización de comstackciones.

Debe usar herramientas de comstackción como Maven o Ant para tales tareas.

En las etapas iniciales, cuando el proyecto no es muy complejo, puede usar la siguiente línea para comstackr, con la ruta de clases apropiada en su lugar (como lo sugiere @Michael):

javac Support/*.java Me/*.java Wrapers/*.java

 javac -d compiled $(find src -name *.java) 

Si realmente necesita usar javac y los comandos estándar de UNIX, puede hacer lo siguiente:

 find src -name \*.java -print0 | xargs -0 javac -d classes 

En muchos casos, Ant es excesiva. Simplemente use un archivo BAT si se encuentra en Windows o en un script de shell (archivo sh) si se encuentra en Linux. Puedes crear un archivo de texto que incluya todos tus comandos javac y simplemente ejecutar ese archivo cuando quieras construir.

Por ejemplo, uso el siguiente archivo bat para comstackr una de mis aplicaciones:

 @echo off echo Building Shazaam... del classes\com\aepryus\shazaam\*.* /q del classes\com\aepryus\shazaam\engine\*.* /q del classes\com\aepryus\shazaam\domain\*.* /q del classes\com\aepryus\shazaam\persist\*.* /q del classes\com\aepryus\shazaam\view\*.* /q del classes\com\aepryus\shazaam\task\*.* /q del classes\com\aepryus\shazaam\action\*.* /q del classes\com\aepryus\shazaam\controller\*.* /q javac src\com\aepryus\shazaam\*.java -classpath \lib\AepUtil.jar;\lib\AepXML.jar;\lib\AepLoom.jar; -d classes javac src\com\aepryus\shazaam\engine\*.java -classpath \lib\AepUtil.jar;\lib\AepXML.jar;\lib\AepLoom.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\domain\*.java -classpath \lib\AepUtil.jar;\lib\AepLoom.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\persist\*.java -classpath \lib\AepUtil.jar;\lib\AepLoom.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\view\*.java -classpath \lib\Servlet.jar;\lib\AepUtil.jar;\lib\AepXML.jar;\lib\AepLoom.jar;\lib\AepHTML.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\task\*.java -classpath \lib\AepUtil.jar;\lib\AepLoom.jar;\lib\AepHTML.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\action\*.java -classpath \lib\Servlet.jar;\lib\AepUtil.jar;\lib\AepLoom.jar;\lib\AepHTML.jar;\lib\Sprout.jar;classes; -d classes javac src\com\aepryus\shazaam\controller\*.java -classpath \lib\Servlet.jar;\lib\AepUtil.jar;\lib\AepXML.jar;\lib\AepRPC.jar;\lib\AepLoom.jar;\lib\AepHTML.jar;\lib\Sprout.jar;classes; -d classes cd classes jar cf ..\war\WEB-INF\lib\Shazaam.jar . cd.. echo Complete 

La respuesta real es javac -d (lugares donde se construirán y colocarán las clases) -sourcepath (fuente del paquete en la raíz) -cp (classpath de las dependencias que pueden ser nuevamente las clases de la carpeta donde se comstackn y mantienen las clases) full nombre calificado del archivo java.

Ex javac -d classes -sourcepath src -cp classes src \ com \ test \ FirstSample.java

FirstSample.java contiene el método principal. La estructura de Pacjage se menciona a continuación.

Antes de comstackr
HomeApp
–src
—— com \ test \ FirstSample.java (Primera muestra usando FirstPojo.java)
—— com \ test \ FirstPojo.java
–clases

Después de comstackr
HomeApp
–src
—— com \ test \ FirstSample.java (FirstSample.java usando FirstPojo.java)
—— com \ test \ FirstPojo.java
–clases
—— com \ test \ FirstSample.class (FirstSample.class usando FirstPojo.class)
—— com \ test \ FirstPojo.class

Intereting Posts