2011-01-26 19 views
33

Soy nuevo en la construcción de línea de comandos de java. En Eclipse, solo necesito escribir la fuente en el proyecto de muestra y el compila automáticamente.cómo compilar múltiples archivos fuente java en la línea de comando

Sé javac file1.java -----> archivo1.class si archivo1.java es el único archivo fuente, puedo simplemente java file1 para ejecutarlo.

Sin embargo, si tengo 2 archivos de origen, file1.java file2.java

¿Cómo puedo construir el programa?

¡Muchas gracias!

+0

¿Eso significa que ambos archivos tienen el método principal o hay 2 puntos de entrada de una aplicación? –

Respuesta

88

intente lo siguiente:

javac file1.java file2.java 
+0

Gracias, funciona. –

+42

No hay problema. Debe marcarlo como 'aceptado' – ryanprayogo

+2

@AlfredZhong Honestamente, marque esa respuesta como aceptada, por favor. – kleinfreund

57

o puede utilizar lo siguiente para compilar los todos los archivos fuente de Java en el directorio actual ..

javac *.java 
+0

¿Eso es recursivo? – FracturedRetina

+0

No, no es recursivo. – blackOcean

+0

* es el símbolo de un comodín. Significa todas las cosas en este directorio que terminan con ".java" – user3735633

3

Aquí hay otro ejemplo, para compilar un archivo java en un directorio anidado.

Estaba intentando construir esto desde la línea de comandos. Este es un ejemplo de 'gradle', que tiene la dependencia 'commons-collection.jar'. Para obtener más información, consulte el ejemplo 'gradle: java quickstart'. - por supuesto, usarías las herramientas 'gradle' para construirlo. Pero pensé en extender este ejemplo, para un proyecto java anidado, con un contenedor dependiente.

Nota: Es necesario la distribución 'Gradle binario o fuente' para esto, código de ejemplo está en: 'samples/java/inicio rápido'

% mkdir -p temp/classes 
% curl --get \ 
    http://central.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar \ 
     --output commons-collections-3.2.2.jar 

% javac -g -classpath commons-collections-3.2.2.jar \ 
    -sourcepath src/main/java -d temp/classes \ 
     src/main/java/org/gradle/Person.java 

% jar cf my_example.jar -C temp/classes org/gradle/Person.class 
% jar tvf my_example.jar 
    0 Wed Jun 07 14:11:56 CEST 2017 META-INF/ 
    69 Wed Jun 07 14:11:56 CEST 2017 META-INF/MANIFEST.MF 
519 Wed Jun 07 13:58:06 CEST 2017 org/gradle/Person.class 
0

O usted podría utilizar javac file1.java y luego también utilizar javac file2.java después.

Cuestiones relacionadas