maven栏显示的不是当前工程_Maven 详细介绍 074

2a878995e3fb887b1f7424e636d64ae7.png

Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。

  提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

  在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用

  最强大的功能就是能够自动下载项目依赖库。

2.主要方式

  处理编译,分配,文档,团队协作和其他任务的无缝连接。

  • Builds
  • Documentation
  • Reporting
  • Dependencies
  • SCMs
  • Releases
  • Distribution
  • mailing list

3.目标

 Maven主要目标是提供给开发人员:

  • 项目是可重复使用,易维护,更容易理解的一个综合模型。
  • 插件或交互的工具,这种声明性的模式。

  Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。

二:标签

1.maven中的groupId和artifactId

  使用maven做项目管理。

  groupId一般是域名的反写,也作为项目中类的包名,artifactId是工程名,也就是根文件夹名。

Maven 的工程类型

POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。

jar 将会打包成 jar 用作 jar 包使用。即常见的本地工程 - Java Project。

war 将会打包成 war,发布在服务器上的工程。如网站或服务。即常见的网络工程 - Dynamic Web Project。war工程默认没有WEB-INF目录及web.xml配置文件,IDE通常会显示工程

Maven项目结构

src/main/java 这个目录下储存 java 源代码

src/main/resources 储存主要的资源文件。比如spring的xml配置文件和log4j的properties 文件。

src/test/java 储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面

src/test/resources 储存测试用的资源文件


src 包含了项目所有的源代码和资源文件,以及其他项目相关的文件。

target 编译后内容放置的文件夹

pom.xml 是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等 等

依赖

<dependencies>

<!-- 定义一个具体的依赖 --> <dependency>

<!-- 依赖的工程所在组名 --> <groupId>groupName</groupId> <!-- 依赖的工程名 --> <artifactId>artifactName</artifactId> <!-- 依赖的工程版本 --> <version>versionNo</version>

<!-- 依赖的工程有效范围,其可选值有: compile - 编译中有效

runtime - 运行中有效

system - 全部中有效[默认]

provided - 当前工程中有效.

test - 只在测试有效 -->

<scope>system</scope> </dependency>

</dependencies>

依赖关系

即 A 工程开发或运行过程中需要 B 工程提供支持,则代表 A 工程依赖 B 工程。在这种 情况下,需要在 pom.xml 文件中增加下属配置定义依赖关系

继承

如果 A 工程继承 B 工程,则代表 A 工程默认依赖 B 工程依赖的所有资源,且可以应用 B 工程中定义的所有资源信息。被继承的工程(B 工程)只能是 POM 工程。

聚合

当我们开发的工程拥有 2 个以上模块的时候,每个模块都是一个独立的功能集合。比如 某大学系统中拥有搜索平台,学习平台,考试平台等。开发的时候每个平台都可以独立编译, 测试,运行。这个时候我们就需要一个聚合工程。

在创建聚合工程的过程中,总的工程必须是一个 POM 工程(Maven Project),各子模 块可以是任意类型模块(Maven Module)。所有聚合工程和聚合模块必须处于同一个组 (groupId)中,且聚合工程可以嵌套。

Maven 常用命令

  • 1 install

本地安装, 包含编译,打包,安装到本地仓库
编译 - javac
打包 - jar, 将 java 代码打包为 jar 文件
安装到本地仓库 - 将打包的 jar 文件,保存到本地仓库目录中。

  • 2 clean

清除已编译信息。 删除工程中的 target 目录。

  • 3 compile

只编译。 javac 命令

  • 4 deploy

部署。 常见于结合私服使用的命令。
相当于是 install+上传 jar 到私服。 包含编译,打包,安装到本地仓库,上传到私服仓库。

  • 5 package

打包。 包含编译,打包两个功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值