Hace poco escribí un post sobre qué es Maven y para que se utiliza. Algo sencillo, sin entrar mucho en detalles, pero a la vez práctico y ajustado a las necesidades del usuario promedio de Panama Hitek. En esta entrada me voy a dedicar a explicar cómo podemos utilizar Github como repositorio de Maven.
Primero lo primero: en Panama Hitek hemos escrito 2 guías, una para principiantes y una avanzada sobre el uso de Git y Github. Estas son:
Ahora lo que haré será dirigirme a aquellos programadores que desarrollan códigos para Java y les gustaría que sus contenidos estén disponibles para el público a través de Maven. Vamos a utilizar un servicio llamado Jitpack.
En un mundo perfecto deberíamos poder subir nuestro repositorio a Maven Central y hacerlo público como cualquier otra dependencia de las que vemos por ahí en Internet. Sin embargo esto es complicado y yo la verdad no he encontrado la forma de hacerlo. Quizás no he investigado más a fondo debido a que la opción que Jitpack me ofrece es mucho menos complicada que cualquier otra que haya visto navegando en la web.
Primero vamos a necesitar tener nuestro proyecto en GitHub. Yo utilizaré de ejemplo la librería PanamaHitek_Arduino que ha sido desarrollada por el equipo de Panama Hitek y ya está disponible en Maven. La dirección de nuestro repositorio es:
http://github.com/PanamaHitek/PanamaHitek_Arduino
Encontraremos lo siguiente:
Vemos que hay una pestaña llamada release. En GitHub tenemos alojado el código fuente de nuestros proyectos públicos y de vez en cuando estamos listos para lanzar una nueva versión de nuestro trabajo. Esto lo hacemos a través de los releases. Nosotros por ejemplo lanzamos la versión 2.7.3 de nuestra librería en la cual agregamos la integración con Maven como una característica más de nuestro proyecto.
Si queremos lanzar una nueva versión de nuestro trabajo con algún cambio que hayamos hecho simplemente hacemos un push desde nuestra máquina hacia el repositorio remoto y en la pestaña de releases vamos al botón Draft a new release.
Esto es importante ya que los releases son utilizados por JitPack para hacer su trabajo. Vayamos a la siguiente dirección:
Colocamos el nombre de nuestro repo en el cuadro de búsqueda de la ventana principal. Hacemos clic en Look Up y nos debe aparecer los releases que tenemos en nuestro repositorio de GitHub.
Le damos clic en Get it y nos aparece un código en la parte inferior.
Ahora vamos a utilizar Github como repositorio de Maven. Vamos a el proyecto en el que queremos agregar nuestro código como una dependencia. Abrimos el archivo POM.xml (clic derecho sobre el proyecto, Open POM) y agregamos el código que nos generó JitPack.
Agregamos la siguiente instrucción justo encima del elemento </project>.
1 2 3 4 5 6 |
<repositories> <repository> <id>jitpack.io</id> <url>http://jitpack.io</url> </repository> </repositories> |
Ahora agregamos la dependencia que nos dio JitPack (debe estar dentro de <dependencies></dependencies>).
1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>com.github.PanamaHitek</groupId> <artifactId>PanamaHitek_Arduino</artifactId> <version>3.0.0</version> </dependency> </dependencies> |
Ahora podemos ir a la carpeta Dependencies en el árbol de nuestro proyecto y hacer clic en «Download Declared Dependencies».
Se inicia el proceso de descarga. Una vez terminado, tendremos nuestra librería agregada al proyecto.
Ahora cada vez que queremos agregar nuestros proyectos desde GitHub solo agregamos el repositorio de JitPack y este se encargará de descargar automáticamente todo lo que declaremos en las dependencias.
El siguiente video resume lo publicado en este post:
Estoy usando netbeans 11 y me da este error creo que mejor voy a descargar el 8.2
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (default-cli) on project ArduinoConexion: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Pudiste solucionarlo?, tengo el mismo problema
tengo el mismo problema
Trata con la versión 3.2.0
Buenas noches mi problema es que al instalar la libreria tal y como dice el tutorial y la dependencia me aparece con un signo de exclamacion y cuando la quiero usar sale que no tengo agregada la dependencia pero lo raro es que si me aparece en la carpeta Dependencies
Debes compilar el proyecto para que se descarguen las dependencias
buena tarde. mi pregunta es ¿Cuánto espacio ocupa la librería y panamahitek en total en mi pc?
No mucho. Unos cuantos megas
Perfecta explicación, voy a probar.