1.maven安装
- 下载解压即可(绿色版本)
- 配置环境变量MAVEN_HOME
2.maven配置本地仓库
- 修改 conf/settings.xml
<localRepository>D:/repository(本地仓库路径)</localRepository>
3.maven配置中央仓库
- 修改 conf/settings.xml
df<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
4.maven配置私服
- 配置密码验证
<servers> <server> <id>user-release</id> <username>admin</username> <password>admin123</password> </server> <server> <id>user-snapshot</id> <username>admin</username> <password>admin123</password> </server> </servers>
- 远程方式配置私服
<profiles> <profile> <id>user-release</id> <repositories> <repository> <id>user-release</id> <url>http://127.0.0.1:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>user-release</id> <url>http://127.0.0.1:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> <profile> <id>user-snopshot</id> <repositories> <repository> <id>user-snopshot</id> <url>http://127.0.0.1:8081/repository/maven-snopshot/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>user-snopshot</id> <url>http://127.0.0.1:8081/repository/maven-snopshot/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles>
- 激活
<activeProfiles> <activeProfile>user-release</activeProfile> <activeProfile>user-snopshot</activeProfile> </activeProfiles>
5.本地仓库,私服,中央仓库关系
当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去中央仓库找
6.如何把jar包上传到私服
- maven项目的pom.xml中配置:
<distributionManagement> <repository> <id>releases</id> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
- 执行mvn deploy命令
7.maven的pom.xml中scope详解
- compile: 默认编译范围
会被打包,同时这些dependency会被传递到依赖的项目中。- provided: 已提供范围
说明dependency由JDK或者容器提供。编译可用。不会被打包,也不是传递的依赖。- runtime: 运行时范围
依赖在运行和测试系统需要,编译不需要- test: 测试范围
依赖在编译和运行不需要,测试时候需要。例如junit- system: 系统范围
这个是项目需要依赖外部的jar包使用的。
8.常见的Springboot项目依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencies>
</dependencies>
<build>
<finalName>打包文件名</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<!--suppress UnresolvedMavenProperty -->
<Build-Timestamp>${timestamp}</Build-Timestamp>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<configuration>
<timestampFormat>yyyy-MM-dd HH:mm:ss</timestampFormat>
</configuration>
<executions>
<execution>
<goals>
<goal>create-timestamp</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>