style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

[Solucionado] Compilar con javac un directorio con varios fuentes

Hola,

Estoy intentando crear un jar con los archivos que he descargado pero no lo consigo.

Tengo una carpeta ''sources" que contiene varios archivos .java y varias subcarpetas que también contienen archivos .java.

¿cómo puedo compilarlo todo y crear un .jar para agregarlo a mi proyecto?

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

ant

Por qué no utilizas ant? Es mucho más fácil que poner directamente el comando javac. Es como un make pero para Java y mucho más sencillo de usar, los archivos son en XML y esto es un ejemplo para compilar lo que dices:

<project name="mi proyecto" default="all">

  <target name="all" depends="build,pack" />

  <target name="build">
    <mkdir dir="bin" />
    <!-- esto indica que compile todo lo que haya bajo sources y ponga las clases resultantes en bin -->
    <javac srcdir="sources" destdir="bin" includes="**/*.java"
      <!-- este es un classpath de ejemplo: un directorio lib al mismo nivel que sources, incluimos todos los jars que contenga -->
      <classpath>
        <fileset dir="lib" includes="*.jar" />
      </classpath>
    </javac>
  </target>

  <target name="pack">
    <jar file="ejemplo.jar">
      <!-- incluimos todas las clases bajo bin -->
      <fileset dir="bin" includes="**/*.class" />
      <!-- incluimos tambien los properties que estan directamente bajo sources (sin recursion) -->
      <fileset dir="sources" includes="*.properties" />
      <manifest>
        <attribute name="Main-Class" value="mi.clase.Principal" />
      </manifest>
    </jar>
  </target>

</project>

Una vez que tienes ese XML guardado como build.xml al mismo nivel que el directorio sources, simplemente en ese directorio tecleas "ant" y listo, te va a compilar todas las clases, las pondrá en un directorio bin y al final empaca todo lo compilado en un JAR (junto con los properties que tengas en sources) y hasta puedes definir atributos para el Manifest de tu jar.

Resuelto

Genial, me ha ido perfecto,

Muchas gracias!

Saludos

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">