Tutorial de Maven
Maven es una potente herramienta para construir proyectos Java y gestionar sus dependencias. Puede construir dependencias a partir de fuentes, pero si las fuentes no están disponibles, buscará en los repositorios de Maven desde donde descargar las dependencias.
Muchos IDEs convenientes (entornos de desarrollo integrados) incluyendo Eclipse, NetBeans e IntelliJ soportan proyectos Maven; por lo tanto, el uso de Maven es una excelente opción cuando se trata de dejar que cada desarrollador elija su entorno de desarrollo preferido.
Así que la estructura de directorios es: pones tus archivos .java en src/main/java/ y los otros archivos que necesitas incluir en src/main/resources/. Si quieres aplicar las mejores prácticas denominadas «pruebas de regresión» o incluso «desarrollo dirigido por pruebas»: los archivos .java de tus pruebas van a src/test/java/ y los archivos que no son .java que puedas necesitar van, como es lógico, a src/test/resources/.
Las únicas partes relevantes son el groupId, que por convención es algo así como el nombre de dominio invertido (similar a la convención de paquetes de Java), el nombre del artefacto a construir (se pondrá en target/, bajo el nombre <artifactId>-<versión>.jar). Y por supuesto la versión.
Apache maven
Maven es una herramienta de gestión de proyectos. Favorece la «convención sobre la configuración»; puede simplificar en gran medida las construcciones de proyectos «estándar» y un usuario de Maven puede normalmente entender la estructura de otro proyecto Maven con sólo mirar su pom.xml (Modelo de Objetos del Proyecto). Maven es una arquitectura basada en plugins, lo que facilita la adición de nuevas bibliotecas y módulos a los proyectos existentes. Por ejemplo, añadir una nueva dependencia suele implicar sólo 5 líneas adicionales en el pom.xml. Estos «artefactos» se descargan de repositorios como The Central Repository.
Utilizaremos el plugin de Scala Maven (repositorio de GitHub, sitio web) (antes conocido como maven-scala-plugin; renombrado en honor a la nueva política de nomenclatura en la que sólo los plugins del núcleo de Maven llevan el prefijo «maven»), de lejos el plugin dominante para los proyectos de Scala. Nota: el plugin incluye Scala desde el Repositorio Central, por lo que no hay necesidad de instalarlo usted mismo si está compilando con Maven.
Puedes descargar Maven desde su página web en Apache. Después de extraerlo (tar -zxvf apache-maven-X.X.X-bin.tar.gz, o usa algo como 7-zip) a tu directorio de elección (en Linux y OSX, sistemas tipo Unix, me gusta ponerlos en /opt/. En Windows probablemente lo pondría en C:/), necesitas añadir Maven a tu variable de entorno Path:
Guía de Maven
MavenPlugin y versionesEl kotlin-maven-plugin compila los fuentes y módulos de Kotlin. Actualmente, sólo se soporta Maven v3.Define la versión de Kotlin que quieres utilizar mediante una propiedad kotlin.version:<properties>
Si te diriges a JDK 7 o JDK 8, puedes utilizar versiones extendidas de la biblioteca estándar de Kotlin. Contienen funciones de extensión adicionales para las APIs añadidas en las nuevas versiones del JDK. En lugar de kotlin-stdlib, utiliza kotlin-stdlib-jdk7 o kotlin-stdlib-jdk8, dependiendo de la versión de tu JDK.Si tu proyecto utiliza las facilidades de reflexión o de prueba de Kotlin, debes añadir también las dependencias correspondientes. Los ID de los artefactos son kotlin-reflect para la biblioteca de reflexión, y kotlin-test y kotlin-test-junit para las bibliotecas de prueba.Compilar código fuente sólo de KotlinPara compilar el código fuente, especifica los directorios de origen en la etiqueta <build>:<build>
Compilar fuentes Kotlin y JavaPara compilar proyectos que incluyan código fuente Kotlin y Java, invoca el compilador Kotlin antes del compilador Java. En términos de maven esto significa que el plugin kotlin-maven debe ser ejecutado antes que el plugin maven-compilador usando el siguiente método, asegurándose de que el plugin kotlin viene antes que el plugin maven-compilador en tu archivo pom.xml:<build>
Descarga de Maven
Maven puede descargarse como archivo zip en https://maven.apache.org/download.cgi. Sólo se necesitan los binarios, así que busca el enlace a apache-maven-{version}-bin.zip o apache-maven-{version}-bin.tar.gz.
Ahora que Maven está instalado, necesitas crear una definición de proyecto Maven. Los proyectos Maven se definen con un archivo XML llamado pom.xml. Entre otras cosas, este archivo da el nombre del proyecto, la versión, y las dependencias que tiene en las bibliotecas externas.
Maven está ahora listo para construir el proyecto. Ahora puedes ejecutar varios objetivos del ciclo de vida de la construcción con Maven, incluyendo objetivos para compilar el código del proyecto, crear un paquete de biblioteca (como un archivo JAR), e instalar la biblioteca en el repositorio local de dependencias de Maven.
El objetivo de paquete compilará tu código Java, ejecutará cualquier prueba, y terminará empaquetando el código en un archivo JAR dentro del directorio de destino. El nombre del archivo JAR se basará en el <artifactId> y <versión> del proyecto. Por ejemplo, dado el archivo pom.xml mínimo de antes, el archivo JAR se llamará gs-maven-0.1.0.jar.