maven命令和maven插件
首先下载好maven后,将 %MAVEN_HOME%\bin 添加到环境变量path中
1、常用命令
1.显示版本信息:mvn -version
2.创建项目:mvn archetype:generate
3.将项目转化为idea项目:mvn idea:idea
4.编译,将Java 源程序编译成 class 字节码文件:mvn compile
5.测试,并生成测试报告:mvn test ,mvn test -Dmaven.test.failure.ignore=true 忽略测试失败
6.将以前编译得到的旧的 class 字节码文件删除:mvn clean
7.打包,动态 web工程打 war包,Java工程打 jar 包:mvn package(默认为jar包)
命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
执行打包命令之前,会自动执行mvn compile,mvn test命令,建议打包使用 mvn clean package 命令,打包之前先清理就的class文件
只打war包(web项目):mvn war:war
只打jar包:mvn jar:jar,这样打成的jar包不能运行,打成可运行的jar包要添加Maven插件,可以在pom.xml文件中添加<plugin>标签,使用maven-jar-plugin和maven-dependency-plugin插件打包
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix>
<!-- 这里设置主类,即程序的入口--> <mainClass>com.wqc.main.SpringStart</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
打成的jar包在target目录下,使用 java -jar xxx.jar 运行jar包
8.将项目生成 jar 包放在本地仓库中,以便别的模块调用,安装到本地:mvn install
命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
执行 mvn install命令时,在之前会自动执行 mvn compile,mvn test,mvn package命令,建议使用 mvn clean install 命令先清理旧的class文件,执行install会将生成的jar放在本地仓库中,
即默认的本地仓库 C:\Users\admin(用户目录)\.m2\repository
9.生成项目相关信息的网站:mvn site
10.编译测试的内容:mvn test-compile
11.部署项目:mvn deploy
命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具