07.部署Maven核心程序.avi
第一步先安装jdk
第二步下载maven
特别需要注意的是maven不能存储在有中文和空格的目录下面
3.调试是否安装成功,在cmd中输入 mvn -version
08.尚硅谷_Maven_约定的目录结构说明.avi
3.第一个Maven工程
①目录结构
Hello
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml
②POM文件内容
<?xml version="1.0" ?>
<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.atguigu.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
③编写主程序代码
在src/main/java/com/atguigu/maven目录下新建文件Hello.java,内容如下
package com.atguigu.maven;
public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}
④编写测试代码
在/src/test/java/com/atguigu/maven目录下新建测试文件HelloTest.java
package com.atguigu.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("litingwei");
assertEquals("Hello litingwei!",results);
}
}
⑤运行几个基本的Maven命令
mvn compile 编译
mvn clean 清理
mvn test 测试
mvn package 打包
※注意:运行Maven命令时一定要进入pom.xml文件所在的目录!
目录如下
我们进入到pom.xml所在的目录执行上面的命令
当前例如是adminstrator用户
maven默认的本地仓库的位置是:
在d盘的D:\RepMaven文件夹中我们下载好了maven所需的jar包,我们可以修改maven本地仓库的地址执行该目录
我们找到maven解压目录下的conf文件夹下面的setting.xml修改如下
12.尚硅谷_Maven_POM.avi
接下来我们来学习maven的依赖,我们创建一个maven工程,依赖我们的上面第一个Hello这个工程,要依赖Hello工程,我们要使用maven install命令,将Hello这个工程添加到本次仓库中
4.第二个Maven工程
①工程名:HelloFriend
②目录结构与第一个Maven工程相同
③POM文件
<?xml version="1.0" ?>
<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.atguigu.maven</groupId>
<artifactId>HelloFriend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>HelloFriend</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atguigu.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
④主程序:在src/main/java/com/atguigu/maven目录下新建文件HelloFriend.java
package com.atguigu.maven;
import com.atguigu.maven.Hello;
public class HelloFriend {
public String sayHelloToFriend(String name){
Hello hello = new Hello();
String str = hello.sayHello(name)+" I am "+this.getMyName();
System.out.println(str);
return str;
}
public String getMyName(){
return "John";
}
}
⑤测试程序:在/src/test/java/com/atguigu/maven目录下新建测试文件HelloFriendTest.java
package com.atguigu.maven;
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import com.atguigu.maven.Hello;
public class HelloFriendTest {
@Test
public void testHelloFriend(){
HelloFriend helloFriend = new HelloFriend();
String results = helloFriend.sayHelloToFriend("litingwei");
assertEquals("Hello litingwei! I am John",results);
}
}
在上面的HelloFriend中
<scope>test</scope> 依赖的junit对应的范围是测试程序才有效果,对主程序没有效果,test表示测试范围内的依赖
<scope>compile</scope>依赖的Hello jar包在主程序中可以使用,在测试test模块中也可以使用,都可以直接new Hello对象,complie表示测试范围和主程序都要有效
[3]有效性总结
例如如果使用compile依赖spring的jar,该spring的jar就会被打包在应用中,并且因为tomcat容器没有提供该spring的jar包,就会被部署到容器中,compile指定的jar包在主程序和测试程序都有效,会随项目发布
例如如果使用test依赖junit的jar,compile指定的jar包只能在测试程序中有效,不会部署不会打包在应用中,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
对应privodie修饰的jar包,在主程序和测试程序都有效,privide默认tomcat容器会提供该jar包,所以不会被打包也不会被部署到应用服务器中,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
接下来,我们讲解如何在eclipse上面新建使用maven建立web工程
第一步
[1]创建Maven版的Java工程
[2]创建Maven版的Web工程
统一管理依赖的版本号
32.继承.avi
不删也行
⑤注意: 配置继承后, 执行安装命令时要先安装父工程.
33.聚合.avi