Maven入门教程(三):Maven语法

这篇具有很好参考价值的文章主要介绍了Maven入门教程(三):Maven语法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

视频教程:Maven保姆级教程
Maven入门教程(一):安装Maven环境
Maven入门教程(二):idea/Eclipse使用Maven
Maven入门教程(三):Maven语法
Maven入门教程(四):Nexus私服
Maven入门教程(五):自定义脚手架

6.Maven基本用法

6.1 导入jar包

pom.xml是maven的核心配置文件,在pom.xml中可以定义工程的依赖关系,和引用jar包的信息。

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

这里引用了junit的jar包,版本是4.12

maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中,测试时,maven会将测试相关的的依赖引入到classpath中,运行时,maven会将与运行相关的依赖引入classpath中。

依赖范围更为通俗的理解,其实就是给依赖包打标记,例如将 A 依赖包标记为“compile”,Maven 就知道 A 依赖包在项目编译的时候要被引入到 classpath 中。

可选配置有

compile:编译

test:测试,只对于测试classpath有效

provided:编译和测试classpath有效,但在运行时无效

runtime:运行时

system:本地,不从库里找

import:功能为将目标pom.xml 文件中元素 <dependencyManagement> 的配置导入合并到当前 pom.xml 文件的元素 <dependencyManagement>

若不指定则默认 compile。

6.2 配置插件

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <path>/</path>
        <port>8080</port>
      </configuration>
    </plugin>
  </plugins>
</build>

pligins用于定义插件,此处引用了tomcat的插件。path是访问路径,如果我们同时运行多个项目,访问路径都是根路径,可以通过修改port端口号来访问项目。

6.3 maven命令

6.3.1 idea

Maven入门教程(三):Maven语法,maven,maven,java

Maven入门教程(三):Maven语法,maven,maven,java

Maven入门教程(三):Maven语法,maven,maven,java

命令clean tomcat7:run

配置成功后可以在工具栏里看到刚才配置的命令,点击绿色的三角

Maven入门教程(三):Maven语法,maven,maven,java

在浏览器里可以看到:

Maven入门教程(三):Maven语法,maven,maven,java

6.3.2 Eclipse

Maven入门教程(三):Maven语法,maven,maven,java

Maven入门教程(三):Maven语法,maven,maven,java

输入clean tomcat7:run

6.4 查看jar包

6.4.1 idea

通常,在pom.xml中加入<dependency>后maven会自动下载jar包

在项目的External Libraries中可以看到maven下载的jar:

Maven入门教程(三):Maven语法,maven,maven,java

如果在pom.xml中加入<dependency>后,在左侧看不到jar包,可以右键点击pom.xml,选择Maven->Reimport

Maven入门教程(三):Maven语法,maven,maven,java

或者在IDEA右侧点击Maven Project:

Maven入门教程(三):Maven语法,maven,maven,java

jar包没有正确引入的时候,pom.xml中会出现错误提示:

Maven入门教程(三):Maven语法,maven,maven,java

未正确引用的依赖,颜色是不一样的。具体提示的颜色与IntelliJ的主题有关。

6.4.2 Eclipse

Maven入门教程(三):Maven语法,maven,maven,java

6.5 排除jar冲突

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<!-- 排除冲突jar包 -->
	<exclusions>
		<exclusion>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
		</exclusion>
	</exclusions>
</dependency>

6.6 引用本地jar

<dependency>
  <groupId>com.test</groupId>  <!--自定义-->
  <artifactId>xxxx</artifactId>    <!--自定义-->
  <version>xxxx-SNAPSHOT</version> <!--自定义-->
  <scope>system</scope> <!--需要显式提供依赖的jar以后,Maven就不会在Repository中查找它-->
  <systemPath>${project.basedir}/lib/xxx.jar</systemPath> <!--项目根目录下的lib文件夹下-->
</dependency>

7.Maven继承

7.1 pom工程

pom工程中只有一个pom.xml文件,不包含java和resource目录,它只用来保存一些依赖信息。

在pom.xml中添加依赖信息信息,如junit、mysql等,也可以定义插件信息:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.maven.test</groupId>
	<artifactId>test-parent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<!-- 自定义属性 -->
	<properties>
		<junit.version>4.12</junit.version>
		<mysql.version>5.1.32</mysql.version>
	</properties>
	<!--继承自该项目的所有子项目的默认依赖信息。这部分的依赖信息不会被立即解析,而是当子项目声明一个依赖(必须描述group ID和artifact ID信息),如果group ID和artifact ID以外的一些信息没有描述,则通过group ID和artifact ID匹配到这里的依赖,并使用这里的依赖信息。-->
	<dependencyManagement>
		<dependencies>
			<!--用于junit测试 -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
			</dependency>
			<!-- mysql驱动包 -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<build>
	    <!--产生的构件的文件名,默认值是${artifactId}-${version}。-->
		<finalName>${project.artifactId}</finalName>
		 <!--使用的插件列表 。-->
		<plugins>
			<!-- 资源文件拷贝插件 -->
			<plugin> <!--plugin元素包含描述插件所需要的信息。-->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<!--作为DOM对象的配置-->
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- java编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
		<!--子项目可以引用的默认插件信息。该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置-->
		<pluginManagement>
			<plugins>
				<!-- 配置Tomcat插件 -->
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>2.2</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>

7.2 创建子工程

Maven入门教程(三):Maven语法,maven,maven,java

在子工程中添加父工程里定义过的依赖:

<dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
	</dependency>
</dependencies>

可以不用写版本号<version>了,它会自动继承父工程里定义的版本。

8.打包

Maven入门教程(三):Maven语法,maven,maven,java

clean 清除编译结果

package 打包

install 安装到本地仓库文章来源地址https://www.toymoban.com/news/detail-690508.html

到了这里,关于Maven入门教程(三):Maven语法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~

    【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~

    到目前为止,已经大概了解并安装好了Maven环境, 现在,我们开始创建一个最简单的 Hello World 项目。如果你是初次接触 Maven, 建议按照本文的内容 一步步地编写代码并执行, 其中可能你会碰到一些概念暂时难以理解,但不用着急,记下这些疑难点,我在后续文章中会逐一进行

    2024年02月11日
    浏览(16)
  • Python入门教程 - 基本语法 (一)

    Python入门教程 - 基本语法 (一)

    目录 一、注释 二、Python的六种数据类型 三、字符串、数字 控制台输出练习 四、变量及基本运算 五、type()语句查看数据的类型 六、字符串的3种不同定义方式 七、数据类型之间的转换 八、标识符命名规则规范 九、算数运算符 十、赋值运算符 十一、字符串扩展 11.1 转义字

    2024年02月10日
    浏览(9)
  • Python入门教程 | Python 基础语法

    第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。 在 Python 3中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 在Python中

    2024年02月11日
    浏览(44)
  • ECMAScript6历史-前端开发+ECMAScript+基础语法+入门教程

    ECMAScript6历史-前端开发+ECMAScript+基础语法+入门教程

    我们首先来看 ECMA 是什么。 ECMA ,读音类似“埃科妈”,是 欧洲计算机制造商协会 (European Computer Manufacturers Association)的简称,是一家国际性会员制度的信息和电信标准组织。1994年之后,由于组织的标准牵涉到很多其他国家,为了体现其国际性,更名为 Ecma 国际 (Ecma In

    2024年01月16日
    浏览(13)
  • flutter基础入门教程(Dart语法+UI布局+页面路由+后端连接)

    flutter基础入门教程(Dart语法+UI布局+页面路由+后端连接)

    1、环境安装 1基础安装步骤教程 Android Studio安装与配置 https://juejin.cn/post/6844904054569582605 安装Android Studio前,需要先选择安装Java环境,Java需要到Oracle官网上下载安装,需要注册一个Oracle账号。 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html Windows 10 配置Java 环境变量

    2024年02月03日
    浏览(18)
  • 【Maven】Maven入门,Java界的Anaconda!

    【Maven】Maven入门,Java界的Anaconda!

    官方文档:Apache Maven 的本质是一个软件项目管理和理解工具。基于项目对象模型 (Project Object Model,POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。 就像Python和Anaconda的关系🤭 可以帮助Javer完成构建、文档生成、报告、依赖、发布、分发等等功能! 可以

    2024年02月08日
    浏览(9)
  • LaTeX详细安装教程|LaTeX 基础知识|LaTeX 常用语法|LaTeX 快速入门

    LaTeX详细安装教程|LaTeX 基础知识|LaTeX 常用语法|LaTeX 快速入门

    LaTeX 是一种专业的排版系统,主要用于科技文献、学术论文、书籍等的排版。与传统的文字处理软件相比,LaTeX 可以更好地管理大型文字项目,并提供了丰富的数学公式和符号支持。本篇博客将介绍 LaTeX 的基础知识、常用语法以及安装教程。 LaTeX 具有如下特点: 专业的排版

    2024年02月05日
    浏览(14)
  • 红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01

    书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。 Ruby是一门在面向对象层面无所不用其极的解释型编程语言。 我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的

    2024年01月20日
    浏览(13)
  • 高效构建Java应用:Maven入门和进阶

    高效构建Java应用:Maven入门和进阶

    1.1 Maven介绍 https://maven.apache.org/what-is-maven.html Maven 是一款为 Java 项目构建管理、依赖管理的工具( 软件 ),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。 总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能**(项目构建、依赖

    2024年02月02日
    浏览(13)
  • maven从入门到精通 第三章 Maven中形成web对Java工程的依赖

    maven从入门到精通 第三章 Maven中形成web对Java工程的依赖

    从来只有war包中含有jar包,而没有jar包中含有war包 web工程依赖的java工程,就是jar包,这个jar包经过自动化部署后,会放在web工程的web-inf/lib目录下 在 pro02-maven-web 工程的 pom.xml 中,找到 dependencies 标签,在 dependencies 标签中做如下配置 证明在Web工程中可以使用Java工程中创建的

    2024年02月02日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包