Maven下载地址:https://archive.apache.org/dist/maven/maven-3/ 该教程基于3.6.3版本
安装Maven核心程序
- 检测Java的环境变量
命令行:echo %JAVA_HOME%
- JDK的配置方式
2.1 java的安装目录:
F:\develop\Java\jdk8
2.2 环境变量的配置:
JAVA_HOME(新建) = F:\develop\Java\jdk8
CLASSPATH(新建) = .;F:\develop\Java\jdk8\lib\dt.jar;F:\develop\Java\jdk8\lib\tools.jar
path(修改) = xxx;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
-
安装Maven
直接将Maven核心程序解压到某个位置(非中文无空格),例如:F:\develop\apache-maven-3.6.3
-
配置Maven的环境变量
M2_HOME(新建) = F:\develop\apache-maven-3.6.3
path(修改) = xxx;%M2_HOME%\bin
-
测试Maven
命令行:mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: F:\develop\apache-maven-3.6.3\bin…
Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_291
Default locale: zh_CN, platform encoding: GBK
OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “windows”
Maven联网问题
(1)Maven默认的本地仓库:~\.m2\repository目录
(2)Maven的核心配置文件位置:F:\develop\apache-maven-3.6.3\conf\settings.xml
(3)本地仓库更改到F:\maven\repository,默认在
C:\Users\Administrator\ .m2\repository`
修改settings.xml:
<localRepository>F:\maven\repository<\localRepository>
(4)配置阿里云镜像(下载速度快)
修改settings.xml:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
在IDEA中配置Maven
(1)close project 所有项目后,回到如下页面,点击右下角的Configure->点击setting
(2)设置Maven的安装目录及本地仓库
是否下载原码,文档
第一个Maven程序
(1)创建Project
坐标:
- GroupId:公司名.项目名
- ArtifactId:模块名
- Version:版本
- main用于存放主程序
- java目录用于存放源代码文件
- resources目录用于存放配置文件和资源文件
- test目录用于存放测试程序
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 坐标-->
<groupId>com.jingming.maven</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 依赖-->
<dependencies>
<!-- 对junit jar包的依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 依赖范围-->
<scope>test</scope>
</dependency>
</dependencies>
</project>
(2)编写主代码
在src/main/java目录下新建文件Hello.java
package maven;
public class Hello {
public String sayHello(String name) {
return "Hello " + name + "!";
}
}
(3)编写测试代码
在src/test/java目录下新建测试文件HelloTest.java
package maven;
import org.junit.Test;
public class HelloTest {
@Test
public void testHello() {
Hello hello = new Hello();
String maven = hello.sayHello("Maven");
System.out.println(maven);
}
}
- clean:清理,将之前编译的结果清理掉
- compile:编译,将主程序的.java代码编译成.class文件
- test:编译测试程序并运行生成报告,将测试程序的.java代码编译成.class文件,再执行测试程序,最终生成测试报告
- package:打包,将程序打成jar包或者是war包
- install:安装,将打完后的包安装到Maven的本地仓库中
Maven编译版本
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
Maven打包插件
Maven本身的打包插件不负责将依赖的jar包一并打入到jar包中。如果项目所依赖的jar包在服务器环境中提供了还好,如果服务器环境中没有提供,则比较悲惨,运行各种ClassNotFound…
因此需要一款能够将项目所依赖的jar包一并打入到jar中的插件来解决这些问题。
在pom.xml中加入如下内容:
<!-- 打包插件-->
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<!--指定主类-->
<mainClass>xxx.xxx.XXX</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Maven酷站
我们可以到 http://mvnrepository.com/搜索需要的 jar 包的依赖信息