El comando maven sube el paquete jar a nexus

Directorio de artículos de la serie

1. Tutorial gráfico de instalación de Linux Nexus3.42.0-01
2. Nexus crea el tutorial gráfico del servidor privado Maven
3. Use nexus para cargar el tutorial gráfico del paquete jar
4. El proyecto IDEA Maven cargue el paquete jar al tutorial gráfico del almacén nexus
5. Use en las descargas de IDEA Maven tutorial gráfico del paquete jar de nexus


prefacio

Para proyectos que integran maven, como el proyecto maven en idea, el proyecto se puede implementar en el repositorio remoto a través del comando deployment:deploy. Entonces, para un proyecto que no integra maven, ¿cómo implementar el proyecto en un repositorio remoto? Este artículo presenta principalmente la carga de recursos al repositorio remoto (nexus) usando directamente el comando maven.

Consulte la dirección del sitio web oficial:
Complemento de implementación Apache Maven - Uso
Maven - Complementos disponibles (apache.org)


1. ¿Qué es maven?

Maven es una herramienta que proporciona soporte de gestión de compilación y dependencia para proyectos Java

Como herramienta de administración de dependencias, Maven puede administrar paquetes jar a gran escala y descargar archivos jar dependientes.

Maven es una herramienta de gestión de compilación. Cuando usamos IDEA para el desarrollo, IDEA hace el trabajo de construcción por nosotros. Después de abandonar el entorno de IDEA, necesitamos herramientas especiales. Maven puede ayudarnos a construir paquetes jar

dos, usa

1. Primero agregue el archivo settings.xml de maven

archivo settings.xml (ejemplo):

!--nexus服务器-->
  <servers>
<!--id为对应资源库id-->  
    <server>  
        <id>tfjy-snapshot-hosted</id>  
        <username>admin</username>  
        <password>nexusb-test</password>  
    </server>
    <server>  
        <id>tfjy-hosted</id>  
        <username>admin</username>  
        <password>nexusb-test</password>  
    </server>      
  </servers>  

2. El comando maven correspondiente

Sintaxis del comando Maven:

mvn deployment:deploy-file
-DgroupId=xxx.xxx.xxx (correspondiente a la etiqueta del archivo pom)
-DartifactId=xxx-xxx (correspondiente a la etiqueta del archivo pom)
-Dversion=xxx (correspondiente a la etiqueta del archivo pom)
-Dpackaging=xxx ( tipo de carga)
-Dfile=xxx:\xxx\xxx.(ruta del archivo)
-DpomFile=xxxx indica la ruta absoluta del archivo Pom correspondiente al paquete jar que se va a cargar.
-Durl=http://xxx.xxx.xx:xxxx/xxx (servidor cargado)
-DrepositoryId=xxxxx (ID del servidor, serverId configurado en el archivo setting.xml, utilizado para asociar el nombre de usuario y la contraseña del servidor privado)

Nota: Si el Jar cargado actualmente también depende de otros Jar, el archivo pom del Jar actual debe cargarse al mismo tiempo.

2.1 Cargue recursos como paquetes pom o jar en bibliotecas de recursos remotas

Ejemplo de código: abra el símbolo del sistema de Windows (Windows+R, ingrese cmd y presione Entrar); ingrese el comando mvn, y el recurso cargado aquí es solo el archivo pom.


mvn deploy:deploy-file -DgroupId=com.tfjybj -DartifactId=metaversePro-backend -Dversion=1.0-SNAPSHOT -Dpackaging=pom -Dfile=F:\maven\metaversePro-backend\1.0-SNAPSHOT\metaversePro-backend-1.0-SNAPSHOT.pom  -Durl=http://xxxxx/repository/tfjy-snapshot-hosted/ -DrepositoryId=tfjy-snapshot-hosted

Captura de pantalla del resultado:

inserte la descripción de la imagen aquí
Verifique en la biblioteca de recursos remotos, puede ver que los recursos cargados se han cargado.
inserte la descripción de la imagen aquí

2.2 Cargue el paquete jar y este jar también depende de otro Jar, y cargue el archivo pom del Jar actual al mismo tiempo

Ejemplo de código: la diferencia es que debe agregar -DpomFile=

mvn deploy:deploy-file "-DgroupId=com.tfjybj" "-DartifactId=metaversePro-backend" "-Dversion=1.0-SNAPSHOT" "-Dpackaging=jar" "-Dfile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\target\metaversePro-gateway-1.0-SNAPSHOT.jar" "-DpomFile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\pom.xml"  "-Durl=http://xxxx/repository/tfjy-snapshot-hosted/" "-DrepositoryId=tfjy-snapshot-hosted"

Captura de pantalla del resultado:
inserte la descripción de la imagen aquí

Verifique en la biblioteca de recursos remotos, puede ver que los recursos cargados se han cargado.
inserte la descripción de la imagen aquí


registro de problemas

1. No se pudo ejecutar el objetivo org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file (default-cli) en el proyecto No se pudieron implementar los artefactos: no se pudo transferir el artefacto con el código de estado 401

inserte la descripción de la imagen aquí
Solución : generalmente, las credenciales de verificación de identidad no se pasan. Compruebe si la contraseña de la cuenta de nexus en la configuración settings.xml es correcta, si el archivo settings.xml utilizado es correcto y si se utilizan otros archivos settings.xml.

2.No se puede implementar el artefacto desde el repositorio local

inserte la descripción de la imagen aquí
Solución : el comando deployment:deploy-file de Maven, este método debe tener en cuenta que si el jar y el pom que desea instalar están ubicados en el directorio del repositorio local, este comando generará un error (No se puede implementar el artefacto desde el repositorio local. .. ), solución: copie el jar y el pom que se instalarán en otro directorio y luego instálelo, siempre que no esté en el directorio del almacén local, debería estar bien.

3.Maven报错: el objetivo que especificó requiere un proyecto para ejecutarse, pero no hay POM en este directorio...

inserte la descripción de la imagen aquí
Solución alternativa : escriba el comando entre comillas dobles ("")

Ejemplo:

mvn deploy:deploy-file "-DgroupId=com.tfjybj" "-DartifactId=metaversePro-backend" "-Dversion=1.0-SNAPSHOT" "-Dpackaging=jar" "-Dfile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\target\metaversePro-gateway-1.0-SNAPSHOT.jar" "-DpomFile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\pom.xml"  "-Durl=http://xxxx/repository/tfjy-snapshot-hosted/" "-DrepositoryId=tfjy-snapshot-hosted"

Link de referencia

inserte la descripción de la imagen aquí


Resumir

Según el sitio web oficial de maven, hay dos formas principales de implementar en el repositorio remoto a través del complemento de maven. Una es que el proyecto integra maven y se puede implementar a través de deployment:deploy de maven; la otra es que el proyecto no integrar maven Podemos usarlo en el símbolo del sistema Use el comando deployment: deploy-file para lograrlo.

Supongo que te gusta

Origin blog.csdn.net/wangwei021933/article/details/129808219
Recomendado
Clasificación