Maven的使用

1.第一个Maven工程

1.1 创建约定目录结构

​ Hello

​ src

​ ——main(存放主程序)

​ ————java(存放源代码文件)

​ ————resources(存放配置文件和资源文件)

​ ——test(存放测试程序)

​ ————java

​ ————resources

​ pom.xml

1.2 创建核心文件 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.study</groupId><artifactId>maven</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies>
</project>

1.3 编写主程序

在src/main/java/com/studyMaven/start目录下新建文件Hello.java

package com.studyMaven.start;public class Hello {public String sayHello(String name) {return "Hello" + name + "!";}
}

1.4 编写测试代码

在src/test/java/com/studyMaven/start目录下新建文件HelloTest.java

package com.studyMaven.start;import org.junit.Test;
import static org.junit.Assert.assertEquals;public class HelloTest {@Testpublic void testHello(){Hello hello = new Hello();String result = hello.sayHello("maven");assertEquals("Hello maven!",result);}
}

1.5 运行基本的Maven命令

打开cmd命令行,进入Hello项目根目录(pom.xml文件所在目录)执行mvn compile命令,查看根目录变化

cmd 中继续录入mvn clean命令,然后再次查看根目录变化

cmd 中录入 mvn compile命令, 查看根目录变化

cmd 中录入 mvn test-compile命令, 查看target目录的变化

cmd 中录入 mvn test命令,查看target目录变化

cmd 中录入 mvn package命令,查看target目录变化

cmd 中录入 mvn install命令, 查看本地仓库的目录变化

注意:运行Maven命令时一定要进入pom.xml文件所在的目录!

2.Maven连网问题

  • 配置本地仓库

  • Maven的核心程序并不包含具体功能,仅负责宏观调度。具体功能由插件来完成。Maven核心程序会到本地仓库中查找插件。如果本地仓库中没有就会从远程中央仓库下载。此时如果不能上网则无法执行Maven的具体功能。为了解决这个问题,可以将Maven的本地仓库指向一个在联网情况下下载好的目录。

  • Maven默认的本地仓库:~.m2\repository目录。

    ​ Tips:~表示当前用户的家目录。

  • Maven的核心配置文件位置:D:\develop\apache-maven-3.3.9\conf\settings.xml

  • 设置方式(本地仓库地址): <localRepository>以及准备好的仓库位置</localRepository>

  • 为了以后下载jar包方便,配置阿里云镜像

    <mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    

3.IDEA中配置Maven

3.1 设置maven的安装目录及本地仓库

在这里插入图片描述

  • Maven home directory:可以指定本地 Maven 所在的安装目录;此外,这里不建议使用IDEA默认的。
  • User settings file / Local repository:可以指定 Maven 的 settings.xml 位置和本地仓库位置。

3.2 配置Maven自动导入依赖的jar包

在这里插入图片描述

  • Import Maven projects automatically:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置,勾选上。
  • Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。
  • VM options for importer:可以设置导入的 VM 参数。一般不需要主动改,除非项目真的导入太慢了再增大此参数。

4.Maven 打包插件

  Maven本身的打包插件不负责将依赖的jar包一并打入到jar包中。如果项目所依赖的jar包在服务器环境中提供了还好,如果服务器环境中没有提供,则比较悲惨,运行各种ClassNotFound….;因此需要一款能够将项目所依赖的jar包 一并打入到jar中的插件来解决这些问题。

	<build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><!-- 指定主类 --><mainClass>xxx.xxx.XXX</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>

5.总结

  • Maven项目:确定目录结构、pom.xml、主程序以及测试程序
  • 通过一个Maven 的入门案例熟悉Maven的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/685682.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帆软报表实现填报报表

我们拿emp表举例 登记信息表 设计一个报表实现对emp表员工的登记 &#xff08;emp表为ORACLE自带用户scott下的一个表&#xff09; 首先&#xff0c;我们设计好填报界面&#xff0c;新建一个普通报表&#xff0c;将emp表中需要的输入一一回应填写进表中。 如下图所示&#xf…

CAPL如何实现TLS握手认证

CAPL有专门的章节介绍如何实现TLS握手认证的函数: CAPL调用哪些函数实现TLS握手认证,需要了解TLS在整个通信过程的哪个阶段。 首先TCP需要建立连接,这是TLS握手的前提。当TLS握手认证完成后,可以传输数据。 所以TLS握手开始前需要确保TCP建立连接,TCP传输数据前需要确保…

HFSS学习-day4-建模操作

通过昨天的学习&#xff0c;我们已经熟悉了HFSS的工作环境&#xff1b;今天我们来讲解HFSS中创建物体模型的县体步骤和相关操作。物体建模是HFSS仿真设计工作的第一步&#xff0c;HFSS中提供了诸如矩形、圆面、长方体圆柱体和球体等多种基本模型(Primitive)&#xff0c;这些基本…

【唇形同步】Diff2Lip: Audio Conditioned Diffusion Models for Lip-Synchronization

摘要 嘴唇同步的任务&#xff08;唇同步&#xff09;寻求将人脸的嘴唇与不同的音频相匹配。它在电影行业以及创建虚拟化身和视频会议中有各种应用。这是一个具有挑战性的问题&#xff0c;因为人们需要同时引入详细、逼真的嘴唇动作&#xff0c;同时保持身份、姿势、情绪和图像…

【每日刷题】Day36

【每日刷题】Day36 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 2. 2960. 统计已测试设备 - 力扣&#…

数据库调优-SQL语句优化

2. SQL语句优化 sql 复制代码 # 请问这两条SQL语句有什么区别呢&#xff1f;你来猜一猜那条SQL语句执行查询效果更好&#xff01; select id from sys_goods where goods_name华为 HUAWEI 麦芒7 魅海蓝 6G64G 全网通; ​ select id from sys_goods where goods_id14967325985…

IATF16949认证是什么?

IATF16949认证是一项国际质量管理体系的认证标准&#xff0c;由国际汽车行业联合会&#xff08;IATF&#xff09;开发&#xff0c;旨在提高汽车行业的质量管理水平&#xff0c;满足客户对汽车部件和零部件的要求。该标准是在ISO/TS 16949标准的基础上&#xff0c;专门为汽车行业…

Centos 7.9 配置VNCServer实现远程vnc连接

文章目录 1、Centos安装图形界面1.1、安装X Windows System图形界面1.2、安装GNOME图形界面 2、VNC SERVER配置2.1、VNC SERVER安装2.2、VNC SERVER配置1&#xff09;创建vnc配置文件2&#xff09;修改配置文件内容3&#xff09;完整配置文件参考 2.3、设置vnc密码2.4、配置防火…

自学网络安全的实用建议:如何从零到精通

目录 为什么写这篇文章 为什么我更合适回答这个问题 先问自己3个问题 1.一定要明确自己是否是真喜欢&#xff0c;还是一时好奇。 2.自学的习惯 3.选择网安、攻防这行的目标是什么&#xff1f; 确认无误后&#xff0c;那如何进入这个行业&#xff1f; 1.选择渗透测试集中…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离&#xff0c;然后进行比较找出第一个最近对&#xff0c;一个一个进行比较。 大概思路就是如图&#xff08;每个圈代表一个数对&#xff09; 第一个和其他四个比较 第二个和其他三个比较 …

mysql 其他类型转换为BIT

看官网说明,BIT没什么特殊之处。但实际操作却不能将任何其他类型字段转为BIT,下面两个都报语法错误 CAST(column AS BIT(1)) AS aa , CAST(column AS BIT) AS bb, BIT value则模式是VARBINARY b1 as cc, -- cc为VARBINARY类型 下面是《高性能MySQL(第四版)》中关于BIT类型的…

星途重启:244亿公里外的「旅行者1号」,修好了

2024年4月20日&#xff0c;旅行者1号工程团队时隔5个月&#xff0c;终于重新收到了来自47年前所发射的探测器传回的有效数据。 ▲收到数据当天&#xff0c;工程团队成员在NASA喷气动力实验室的会议室中欢呼。 01.关于旅行者1号 在当下5G和WIFI已经普及的时代&#xff0c;NASA喷…