1. 创建第二个项目
手动创建好目录结构
- 创建两个Java文件
- Java文件中引用之前项目的文件
代码
package com.quinntian.maven;
import com.quinntian.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";
}
}
package com.quinntian.maven;
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import com.quinntian.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);
}
}
- pom.xml增加以下内容
<?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.quinntian.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.quinntian.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
2. 执行mvn compile
命令
错误提示:提示并未找到
原因:在pom.xml中已经配置了依赖,但是并未执行安装
3. 执行mvn install
命令
切换到上一个项目的根目录执行mvn install
此时会发现本地仓库已经将这个项目安装
4. 重新执行mvn compile
切换到现在的项目执行命令编译成功
5. 依赖的范围
<scope>-----</scope>
- compile
- 对主程序有效
- 对测试程序有效
- 参与打包
- test
- 对主程序无效
- 对测试程序有效
- 不参与打包
- provided
- 从开发的角度对比
compile:需要在开发、部署、运行时都需要依赖
provided:只需要在开发的时候需要依赖,最典型的就是servlet.api - 对主程序有效
- 对测试程序有效
- 不参与打包
- 不参与部署
- 从开发的角度对比
常见的依赖
<dependencies>
①ServletAPI依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
②JSPAPI依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1.3-b06</version>
<scope>provided</scope>
</dependency>
</dependencies>