Maven 最主要的命令有以下四个:
mvn clean compile
mvn clean test
mvn clean package
mvn clean install
使用Maven时关于该Java代码有两点需要注意:首先,在95%以上的情况下,我们应该把项目主代码放到src/main/java/目录下(遵循Maven的约定),而无须额外的配置,Maven会自动搜寻该目录找到项目主代码;其次,该Java类的包名应该与我们之前在POM中定义的groupId和artifactId相吻合。在此基础上分别介绍一下这四个命令。
- mvn clean compile:使用Maven进行编译
clean告诉Maven清理输出目录target/,compile告诉Maven编译项目主代码,从输出中我们看到Maven首先执行了clean:clean任务,删除target/目录,默认情况下Maven构建的所有输出都在target/目录中;接着执行resources:resources任务;最后执行compiler:compile任务,将项目主代码编译至target/classes目录。
- mvn clean test:调用Maven执行测试
在Maven执行测试(test)之前,它会先自动执行项目主资源处理,主代码编译,测试资源处理,测试代码编译等工作,这是 Maven 生命周期的一个特性。测试代码通过编译之后在target/test-classes下生成了二进制文件。
- mvn clean package:打包(package)
Maven会在打包之前执行编译、测试等操作。这里我们看到jar:jar任务负责打包,实际上就是jar插件的jar目标将项目主代码打包成一个jar文件,该文件也位于target/输出目录中,它是根据artifact-version.jar 规则进行命名的,如有需要,我们还可以使用finalName来自定义该文件的名称。
- mvn clean install:让其他的Maven项目直接引用这个jar
该任务将项目输出的jar安装到了Maven本地仓库中,我们可以打开相应的文件夹该项目的pom和jar。只有将该项目的构件安装到本地仓库之后,其他 Maven项目才能使用它。
Maven 这四个命令的执行顺序是这样的:执行test之前是会先执行compile,执行package之前是会先执行test,而类似地,install之前会执行package。
分享到:
相关推荐
maven入门,maven环境的搭建以及maven配置到eclipse以及pom.xml文件配置等
Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令Maven 命令
Maven常用命令 Maven Maven学习
maven学习笔记maven学习笔记maven学习笔记
maven仓库清理命令
此文章包含Maven介绍与安装、Maven在工程开发中的相关配置、Maven如何进行工程测试、Maven的以来冲突调节原则、Maven的聚合开发,以及用一个简单的实操案例对Maven进行练习。 适用于任何学习项目管理与SSM框架中,...
maven学习与命令
maven构建Web工程相关的命令行命令的总结
项目管理利器——maven,技术开发学习类稳定档案顶顶顶顶
对于maven,你不应该只知道在pom中如何引入jar包,还应该了解maven一些常用的命令
Maven在eclipse中的项目启动命令
该资料主要讲maven的基础用法,安装和使用等。还有maven常常被使用到的一些命令和用法。注意事项等。
maven常用的命令
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
Maven学习文档
Maven 教程:基础篇——尚硅谷学习笔记 2022年
maven学习教程分享
Maven3培训教程.pptx MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven实战.pdf Maven实战——入门篇.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf
maven插件的学习demo
在此之前,我也听到了不少对Maven的抱怨,包括XML的繁冗,不够灵活,学习曲线陡峭等等。那Gradle是否能够在继承 Maven优点的基础上,克服这些缺点呢?带着这个疑问,我开始阅读Gradle的文档并尝试着将一个基于