Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(1)

简介: Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(1)

正文

assertEquals(“Hello gacl!”,results);
}
}
1.2、使用Maven编译、清理、测试、打包项目

1、使用Maven编译项目,编译项目的命令是:“mvn compile

打开cmd命令行,

进入Hello项目根目录执行"mvn compile"命令编译项目的java类


编译成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是编译成功之后Maven帮我们生成的文件夹,如下图所示:


打开【target】文件夹,可以看到里面有一个【classes】文件夹,如下图所示:

【classes】文件夹中存放的就是Maven我们编译好的java类,如下图所示:

这就是使用Maven自动编译项目的过程。

2、使用Maven清理项目,清理项目的命令是:“mvn clean

进入Hello项目根目录执行"mvn clean"命令清理项目,清理项目的过程就是把执行"mvn compile"命令编译项目时生成的target文件夹删掉,如下图所示:

3、使用Maven测试项目,测试项目的命令是:“mvn test

进入Hello项目根目录执行"mvn test"命令测试项目,如下图所示:

测试成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是测试成功之后Maven帮我们生成的文件夹打开【target】文件夹,可以看到里面有一个【classes】和【test-classes】文件夹,如下图所示:

也就是说,我们执行执行"mvn test"命令测试项目时,Maven先帮我们编译项目,然后再执行测试代码。

4、使用Maven打包项目,打包项目的命令是:“mvn package”

进入Hello项目根目录执行"mvnpackage"命令测试项目,如下图所示:


打包成功之后,可以看到hello项目的根目录下的【target】文件夹中多了一个Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是打包成功之后Maven帮我们生成的jar文件,如下图所示:

5**、使用Maven部署项目,部署项目的命令是:“mvn install”**

进入Hello项目根目录执行"mvninstall"命令测试项目,如下图所示:


安装成功之后,首先会在hello项目的根目录下生成【target】文件夹,打开【target】文件夹,可以看到里面会有Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是安装成功之后Maven帮我们生成的jar文件

除此之外,在我们存放Maven下载下来的jar包的仓库也会有一个Hello-0.0.1-SNAPSHOT.jar,所以Maven安装项目的过程,实际上就是把项目进行【清理】→【编译】→【测试】→【打包】,再把打包好的jar放到我们指定的存放jar包的Maven仓库中,如下图所示:

所以使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多。

1.2、组合使用Maven的命令

maven的编译,清理,测试,打包,部署命令是可以几个命令同时组合起来使用的,常用的命令组合如下:

1、先清理再编译:“mvn clean compile”,如下所示:

还有的就是"mvn clean test",“mvn clean package”,“mvn clean install”,这些组合命令都比较常用。

以上就是关于Maven构建项目的各个个过程演示。

二、在别的项目中使用通过Maven安装生成的项目的jar包

在上面,我们使用mvn install命令将hello这个项目打包成了Hello-0.0.1-SNAPSHOT.jar包并且发布到本地的maven仓库E:\repository\me\gacl\maven\Hello\0.0.1-SNAPSHOT中,下面我们来看看如何在别的项目中使用Hello-0.0.1-SNAPSHOT.jar

1、新建HelloFriend项目,同时建立Maven约定的目录结构和pom.xml文件

HelloFriend
| --src
| -----main
| ----------java
| ----------resources
| -----test
| ---------java
| ---------resources
| --pom.xml

如下图所示:

2、编辑项目HelloFriend根目录下的pom.xml,添加如下的代码:

<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”>
4.0.0
me.gacl.maven
HelloFriend
0.0.1-SNAPSHOT
HelloFriend
junit
junit
4.9
test
me.gacl.maven
Hello
0.0.1-SNAPSHOT
compile

3、在src/main/java/me/gacl/maven目录下新建文件HelloFriend.java,如下图所示:

HelloFriend.java的代码如下:

package me.gacl.maven;
import me.gacl.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”;
}
}

4、在/src/test/java/me/gacl/maven目录下新建测试文件HelloFriendTest.java,如下图所示:

最后

小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析

虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!


相关文章
|
3天前
|
Java Maven
Maven如何创建Maven web项目
Maven如何创建Maven web项目
|
1天前
|
Java Shell Apache
Maven 项目文档
使用 Maven 创建 `consumerBanking` 项目,命令行输入: ```sh mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 确保 `pom.xml` 包含最新 `maven-site-plugin`(v3.3+)和 `maven-project-info-reports-plugin`(v2.7+)
|
2天前
|
数据可视化 Java Apache
Maven Dependency Tree:深入理解你的项目依赖
Maven Dependency Tree:深入理解你的项目依赖
12 0
|
3天前
|
缓存 运维 负载均衡
阿里云云效操作报错合集之在获取Maven私有库配置出错,该如何操作
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
3天前
|
Java Linux 网络安全
在Linux上搭建Maven仓库的实战教程
在Linux上搭建Maven仓库的实战教程
17 0
|
5天前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
9 0
|
19天前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成java项目。
|
12天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
22天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用`mvn archetype:generate`命令创建`consumerBanking`项目,设置相关参数。为解决`mvn site`运行时的NoClassDefFoundError,需在`pom.xml`中添加或更新maven-site-plugin和maven-project-info-reports-plugin至版本3.3和2.7以上。
|
18天前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
35 4