前面又说如何通过maven来进行一个项目的部署,那么如果我们有多个项目想进行之间类的调用的时候,我们应该如何去做呢
我们这里有两个项目:
其中的maven01中的main中的HelloWorld.java:
package com.imooc.maven01.model;
public class HelloWorld {
public String sayHello() {
return "Hello Maven!";
}
}
maven02中main中的SpeakHello.java:
package com.imooc.maven02.model;
import com.imooc.maven01.model.HelloWorld;
public class SpeakHello{
public String SpeakHello(){
return new HelloWorld().sayHello();
}
}
当我们直接在maven02根目录下进行mvn compile时:
可以看到 在编译过程中我们通过导包的这一句出现了问题,无法找到maven01.java的路径
所以我们要通过install来进行jar的本地库安装
通过在maven1目录下进行代码:mvn install
然后在maven02项目中的pom文件中进行maven01地址的配置:
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 项目包名 -->
<groupId>com.imooc.maven02</groupId>
<!-- 项目名 -->
<artifactId>maven02_model</artifactId>
<version>0.0.1SNAPSHOT</version>
<dependencies>
<dependency>
<!-- 项目包名 -->
<groupId>junit</groupId>
<!-- 项目名 -->
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<!-- 项目包名 -->
<groupId>com.imooc.maven01</groupId>
<!-- 项目名 -->
<artifactId>maven01_model</artifactId>
<version>0.0.1SNAPSHOT</version>
</dependency>
</dependencies>
</project>
再进行编译:
我们可以看到 编译通过了
在maven中,一般通过pom.xml来配置导包所需的包的路径和项目名称,如果在本地仓库中没有找到,则需要手动install进行安装,但是如果是在第三方库中存在所虚要的包,则maven会自动通过网络进行下载和安装,这就是maven的强大之处,可以快速的构建一个项目,再也不需要通过配置classpath来进行jar包的一个导入了