一、 安装nexus 2.X版本私服,
1. 下载安装包: https://help.sonatype.com/repomanager2/download 自行下载。
2. 安装nexus: 解压后,* / nexus-2.14.10-01-bundle\nexus-2.14.10-01\bin\jsw
3. 设置mvn setting.xml 配置nexus私服登陆时的用户名和密码
注意:nexus的repository分三种类型:Hosted、 Proxy和Virtual,另外还有一个repository group(仓库组)用于对多个仓库进行组合,部署的时候只能部署到Hosted类型的仓库中。
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
此处的ID非常重要
4. idea 创建mvn骨架项目,创建maven项目,项目pom文件添加如下:
pom文件导入插件:
<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.2</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
5. 在项目根目录(即项目的pom文件所在目录) 执行:mvn archetype:create-from-project
生成图片所示内容(注意:修改maven版本问题)
5.1 特别注意:执行过mvn archetype:create-from-project后,可在上图pom文件所在目录执行mvn install命令,将将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦;
install有时候会报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin...,这种情况下可以检查项目里有没有出现编译错误,如果没有,就检查一下pom文件中surefire的配置;参考如下:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<systemProperties>
<property>
<name>log4j.configuration</name>
<value>log4j.properties</value>
</property>
</systemProperties>
<skipTests>false</skipTests>
</configuration>
</plugin>
</plugins>
6. 编辑上图中pom.xml 注意:上图中的pom文件。
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Micaicms Releases</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Micaicms Releases</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意:
此处id 要和setting.xml 中对应,此处id对应于“3部分”server节点下的id;
此处url 要对应于nexus私服中hosts类型的repositories。启动nexus后,可通过网页http://localhost:8081/nexus/访问查看,必须有对应的仓库,否则会报错
上传nexus私服需要密码。
7. 上图archetype目录作为目标目录,执行mvn deploy 命令
8. 关闭 idea
9. 在项目根目录 执行:mvn archetype:update-local-catalog
10 . 启动 idea
参考文章:https://blog.csdn.net/Alexshi5/article/details/81633948 介绍return 400 错误