发布于2021-09-12 21:24 阅读(153) 评论(0) 点赞(5) 收藏(1)
官网:https://maven.apache.org/index.html
POM 参考文档: https://maven.apache.org/pom.html
Settings 参考文档: https://maven.apache.org/settings.html
Maven 是一个用于构建/管理任何基于Java项目的工具,其本身也是基于Java的 因此需要Java环境。其最初是为了简化 Jakarta Turbine 项目的构建而生。
其主要处理以下关心的领域:
mvn archetype:generate "-DgroupId=com.mycompany.app" "-DartifactId=my-app" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
cd maven-sample
mvn package //mvn会自动下载打包所需组件
java -cp .\target\maven-sample-1.0-SNAPSHOT.jar top.simpleito.demo.App
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
注:
maven-project
├───pom.xml 项目描述文件,定义在生命周期中所需的依赖和所需模块等等
├───README.txt 项目说明
├───NOTICE.txt 项目中使用第三方库的资料
├───LICENSE.txt 许可文件
└───src 包含构建项目所需所有资料,site等等
├───main 最重要的目录,所有工件(artifect)都应出现在这里
│ ├───java 工件Java源码
│ ├───resources 配置及资源等文件
│ ├───filters 包含在构建阶段将值注入到resources目录下配置属性的文件
│ └───webapp 对于web应用,包含诸如JS/CSS/HTML等资源文件
├───test 所有测试代码及资源
│ ├───java
│ ├───resources
│ └───filters
├───it 通常是用于 Maven Failsafe Plugin 的集成测试
├───site 使用 Maven Site Plugin(https://maven.apache.org/plugins/maven-site-plugin/index.html) 创建的site文档
└───assembly 二进制打包装配配置,一般也不常用适用 Apache Maven Assembly Plugin
└───target 用于容纳 build 的所有输出
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
POM 是 Maven 中的基本工作单元,它是一个 XML 文件,包含了"项目有关信息"和"配置Maven构建项目的细节"。
当执行一个任务时,Maven 会在当前目录寻找 POM 文件,从而读取所需的配置信息。
POM 中可以指定许多信息,包括:
需注意的是:POM 中的<groupid>:<artifactId>:<version>
构成了该工件的完全限定名
关于 POM、Super POM、最小POM等更多信息参考:Maven POM 详解
https://maven.apache.org/settings.html
settings.xml 包含对 Maven 自身的配置,不应绑定到任何特定项目分发给用户。主要包含:本地储存库,代理,身份验证信息等等。
该配置文件可能存在两个位置:
若都存在,则内容将被合并作用。优先级:用户级 > 全局
配置详情参考:Maven Settings
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
Maven 基于生命周期的概念,意味着构建(build)和分发(distributing)特定工件的过程得以清晰定义,意味着只需学习一小组命令,即可构建任何 Maven 项目。
有三种内置构建生命周期(build lifecycle):默认(default)、清理(clean)、site
需注意:
以 default 声明周期为例,主要包含以下 phase:完整的请参考 Lifecycle Reference
附/参考:
- 常见问题/需求QA: https://maven.apache.org/guides/getting-started/index.html#sections
- Maven 官方入门指南: https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
- Baeldung 关于 Standard Directory Layout 介绍文章(Maven官方介绍不好看): https://www.baeldung.com/maven-directory-structure
关于Archetype更多可参考文档,但不太常用: https://maven.apache.org/archetype/maven-archetype-plugin/index.html
作者:我是小豆丁
链接:http://www.javaheidong.com/blog/article/284130/f5e853a5f771ac632553/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!