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
El comando maven sube el paquete jar a nexus
- Directorio de artículos de la serie
- prefacio
- 1. ¿Qué es maven?
- dos, usa
- 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
- 2.No se puede implementar el artefacto desde el repositorio local
- 3.Maven报错: el objetivo que especificó requiere que se ejecute un proyecto, pero no hay POM en este directorio.
- Resumir
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:
Verifique en la biblioteca de recursos remotos, puede ver que los recursos cargados se han cargado.
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:
Verifique en la biblioteca de recursos remotos, puede ver que los recursos cargados se han cargado.
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
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
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...
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"
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.