一、maven安装
- maven是apche下的一个项目管理工具,主要用于java项目,主要功能有:管理jar包(远程仓库与本地仓库之间通过setting.xml配置的信息进行通讯)、项目构建、私服共享jar包以及配合jenkins进行自动化部署。
- maven的GAVP
groupID
: com.{公司、组织}.业务线.{子业务线}
artifactID
: 产品线名-模块名
version
: 版本号:主版本号.次版本号.修订号
packing
:包名
从官网下载安装包,解压即可无需安装。但是maven需要在系统环境变量中进行Path和MAVEN_HOME的环境配置,验证: mvn -v
1、目录介绍:
bin
: 含有maven的运行脚本
boot
: 含有plexus-classworlds类加载器框架
conf
: 含有maven的核心配置文件
2、修改conf/setting.xml中的三个位置
找到文件中相应标签的位置,在其中添加或者替换下面说的内容
① 本地仓库路径,可以自定义一个目录用于作为存放jar包的本地仓库
<localRepository>D:\Maven-repository</localRepository>
② 配置镜像路径,用于下载jar包
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
③配置jdk版本
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.compileVersion>8</maven.compiler.compileVersion>
</properties>
</profile>
二、创建maven项目
用IDEA创建一个maven项目,maven具有固定的项目结构
在pom.xml中配置maven私服等信息
<groupId>org.example</groupId>
<artifactId>maven_java</artifactId>
<version>1.0-SNAPSHOT</version>
<!--设置打包方式jar、war、pom-->
<packaging>jar</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--上传到私服-->
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<name>mine</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
<!-- <url>http://172.21.110.3:8081/nexus/content/repositories/snapshots/</url>-->
</snapshotRepository>
</distributionManagement>
代码书写完毕之后,进入项目源代码的pom.xml同级目录中,启动命令行窗口
【注】
-
mvn compile 只编译核心程序,test测试程序需要使用mvn test-compile
-
maven中测试程序的类名和方法名有命名要求: 以test开头或结尾
-
mvn package打包命令执行时会进行源代码编译、测试代码编译以及测试代码运行
-
Maven install 将编译生成的jar包放到本地仓库,这样本地别的java程序就可以通过在pom.xml文件中dependency来使用这个jar包
三、创建一个私服仓库
1.下载nexus软件(官网太慢,csdn找的)并解压,nexus-3.45.1-01-win64\nexus-3.45.1-01\bin目录中的nexus.exe就是启动器。
由于nexus中有一些功能需要用到管理员权限,左下角窗口用右键点开然后Windows PowerShell(管理员)打开命令行窗口,然后输入命令:./nexus /run. 如下图出现“started Sonatype Nexus”就说明启动成功了
3.nexus默认的私服地址是http://localhost:8081. 浏览器中访问。第一步signin
【注】
对比:
Maven-release: 正式版本,jar包名应该包含release
Maven-snapshots: 测试版本,jar包名应该包含snapshots
4、在本地设置私服仓库访问路径
在setting.xml中添加私服路径(id和name可以随便取,url从私服获取)
若私服不允许匿名访问,则需要在setting.xml中再添加一下用户登录信息(这里的id需要跟上面截图中的保持一致)
这样设置之后java项目会自动从本地仓库和私服获取所需jar包
5、将生成的jar上传到私服
在项目的pom.xml中添加私服的上传路径(这里的id应该与上述setting.xml中的id保持一致,name可以随便取)
然后执行mvn deploy命令即可上传到私服snapshots
6、从私服上下载别人部署的jar包