
Maven常用命令及常见知识在项目中的实际运用 - 不断更新中
发布日期:2025-04-13 02:11:20
浏览次数:15
分类:精选文章
本文共 1947 字,大约阅读时间需要 6 分钟。
项目中有用的Maven命令
一、Maven是什么?
Maven(“知识的积累”)是Apache组织开源项目,主要服务于Java项目的构建、依赖管理和信息管理。无论是小型开源项目还是大型企业级应用,Maven都能发挥重要作用,支持传统的瀑布式开发和敏捷模式。
1. 将没有在Maven官方Repository中的jar包加入到本地仓库
mvn install:install-file -Dfile=path-to-your-artifact-jar -DgroupId=your.groupId -DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar
2. 下载依赖包的同时获取源代码和文档
方法一:使用Maven命令
mvn dependency:sources
方法二:添加参数
-DdownloadSources=true
:下载源代码包。-DdownloadJavadocs=true
:下载Javadoc文档。
示例命令
mvn -DdownloadSources=true -DdownloadJavadocs=true eclipse:eclipse
3. 执行Java Class的main方法
mvn exec:java -Dexec.mainClass="com.wsheng.test.RunSampleMainClass" -Dexec.classpathScope=test
4. 在控制台中执行Maven命令并记录日志
查看具体执行信息
mvn clean install -DskipTests -X -e
将日志输出到文件
mvn clean install -X > c:/log.txt
5. 合并使用多个Maven命令
mvn clean: clean install site:site -DskipTests -Dmaven.test.skip=true
6. 跳过测试和测试代码的编译
跳过测试
mvn package -DskipTests
跳过测试代码的编译
mvn package -Dmaven.test.skip=true
7. 查看Maven版本
mvn -v
8. 设置Maven下载依赖时使用代理服务器
修改settings.xml文件
abc true http ... ... ... ... ...
9. 查看Maven中的依赖情况
列出所有依赖
mvn dependency:list
查看依赖树
mvn dependency:tree
查看依赖分析
mvn dependency:analyze
10. 执行指定测试
执行单个测试类
mvn test -Dtest=TestCircle
执行匹配模式的测试
mvn test -Dtest=TestCi*le
混合使用多个测试类
mvn test -Dtest=TestSquare,TestCi*le
11. 测试覆盖率报告
mvn cobertura:cobertura
生成的报告位于target/site/cobertura/index.html
。
12. 指定执行类中的特定方法
mvn -Dtest=TestCircle#mytest test
技术小知识
1. 依赖范围
compile
:适用于所有阶段。test
:只在测试时使用。provided
:依赖由JDK或容器提供。runtime
:只在运行时使用。system
:依赖需手动提供。
2. 依赖归类
在<properties>
中定义版本,其他依赖引用${abc}
。
3. Maven仓库路径
本地仓库路径修改方式:
d:\java\maven-repository
4. Maven生命周期
clean
:清理项目。default
:构建项目。site
:生成站点。
5. 插件与目标对应
插件目标格式:插件前缀:目标名
。
6. Maven聚合
../module1 ../module2
通过这些命令,你可以更高效地管理项目依赖、构建、测试和文档生成。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月12日 00时43分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
memset,memcpy报错
2025-04-13
memset函数
2025-04-13
memset初始化高维数组为-1/0
2025-04-13
MEPS REAL-TIME推出Intelliguard可视化库存系统
2025-04-13
merge into 笔记
2025-04-13
Merge into的使用详解-你Merge了没有
2025-04-13
Merge Two Sorted Lists - LeetCode
2025-04-13
Merge 的小技巧
2025-04-13
Mesos 资源分配
2025-04-13
message.channel.id Discord PY
2025-04-13
MessageDigest
2025-04-13
Mes的理解
2025-04-13
MES系统如何实现远程访问?
2025-04-13
Metabase RCE漏洞复现(CVE-2023-38646)
2025-04-13
metaclass
2025-04-13
metaq杂记
2025-04-13
Metasploit CGI网关接口渗透测试实战
2025-04-13
Metasploit Framework中最全show命令及使用
2025-04-13
Metasploit GUI图形界面使用
2025-04-13