首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >maven环境搭建及简单介绍

maven环境搭建及简单介绍

作者头像
秃头哥编程
发布于 2019-06-04 09:24:51
发布于 2019-06-04 09:24:51
86150
代码可运行
举报
文章被收录于专栏:秃头哥编程秃头哥编程
运行总次数:0
代码可运行

一、Maven环境搭建

maven是使用java开发的,所以要使用maven,必须得有jdk,这里就不再赘述了。

(1)http://maven.apache.org/下载相应的压缩包 (2)配置环境变量 在系统变量中添加M2_HOME,值为Maven的安装路径 在Path值的后面添加;%M2_HOME%\bin (3)在命令行中输入mvn -v

如果显示如上图,则说明配置成功,否则检查一下哪步出错了。

二、Maven介绍

(1)maven两大核心

  • 依赖管理:对jar包进行管理。
  • 项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署都可以通过命令来实现。

(2)maven仓库类型

  • 本地仓库:在个人的计算机上。
  • 私服:存在于局域网上的一台服务器
  • 中央仓库:在互联网上,有maven团队进行维护。

如果我们拥有一个中央的仓库那该多好,想用什么jar包就用什么jar,但无奈那堵墙,使得中央仓库的下载速度很慢。我们可以使用阿里云的maven镜像,里面的jar是比较全的,关键下载速度还快。只需要在我们解压出来的maven压缩包里的conf文件夹下的settings.xml配置一下就可以了。打开找到 <mirrors>标签,在里面加上下面的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

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

三、Maven项目的目录结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

src
       -main
               -java
                       -package
       -test
               -java
                       -package
       -resources

四、maven常用命令

介绍命令之前,先创建好maven项目并写一些代码。

在main文件夹下有一个Maven01.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.codeliu.maven;

public class Maven01 {
    public String say() {
        return "Hello world";
    }
}

在test 文件夹下有一个MavenTest.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.codeliu.maven;

import org.junit.*;
public class MavenTest {
    @Test
    public void testMaven01() {
        Assert.assertEquals("Hello world", new Maven01().say());
    }
}

下面开始介绍命令。

1)mvn compile

听名字都知道,这个肯定是编译,将.java文件编译成.class文件。

我们进入项目的根目录下,输入这个命令,会发现根目录下会多一个target的文件夹,里面就有.class文件。

(2)mvn clean

这个命令,可以清除我们生成的.class文件,执行此命令后,target文件夹会消失。

(3)mvn test

执行此命令后,就会运行test文件夹下的测试代码

注意:测试代码必须放在test文件下,且必须以*Test.java命名。

(4)mvn package

这个命令是把项目进行打包,如果是普通的java项目,就会打包成jar,如果是web项目,就会打包成war。

它会存放在我们项目根目录下的target文件夹下。

(5)mvn install

有时候如果我们一个项目要用到另一个项目的一些代码,那肯定是copy啊,现在使用maven就不一样了,我们可以使用mvn install命令,将我们自己的项目生成jar包,这样其他项目要使用只需要import一下就可以了。

可以看到,把生成的jar包放在了这个目录下,其实这个目录就是我们maven本地仓库的默认路径(如果你没有进行修改的话)

五、maven项目的生命周期

在maven中存在“三套”生命周期,它们互不影响,相互独立。

  • CleanLifeCycle:清理生命周期,对应上面的clean命令。
  • defaultLifeCycle:默认生命周期,compile,test,package,install,deploy(部署)。
  • siteLifeCycle:站点生命周期。site。

为啥说它们互不影响呢?因为执行clean命令,并不会执行默认生命周期中的命令,执行compile命令,也不会执行clean命令。但如果你执行install命令,那么前面的compile,test,package操作都会执行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秃头哥编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
5 条评论
热度
最新
Error : Failed to query available provider packagesterraform。自v0.13后就交给provider自己维护。参考文档:https://cloud.tencent.com/developer/article/1792475
Error : Failed to query available provider packagesterraform。自v0.13后就交给provider自己维护。参考文档:https://cloud.tencent.com/developer/article/1792475
回复回复点赞举报
创建实例不是要钱的么?可以直接这样子创建实例?
创建实例不是要钱的么?可以直接这样子创建实例?
11点赞举报
肯定要先充值的,不然会报错。
肯定要先充值的,不然会报错。
回复回复点赞举报
好文,学习一下
好文,学习一下
回复回复点赞举报
清晰明了,学习了
清晰明了,学习了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Terraform系列一腾讯云CVM相关简单创建
记得2019左右就看到过Terraform系列的文章和书籍,当时所有的业务都上云了管理也很是方便,看了一眼就没有作过多的研究。但本着对技术发展的前瞻敏锐性, 还是觉得这个东西是会火起来的。正巧最近泽阳大佬devops训练营https://www.yuque.com/devopsvip穿插上了Terraform!个人又开始体验了一把......
对你无可奈何
2022/03/30
4.2K5
如何高效的进行腾讯云上的资源编排,一起来聊一聊Terraform
“腾讯云IaC最佳实践”系列文章希望通过介绍Terraform、Chef和Ansible等生态产品工具及相关案例,使用户能够更好地在腾讯云上实践IaC,为腾讯云用户提供增值服务。本文是“腾讯云IaC最佳实践”系列文章的第1篇。
生态产品团队
2019/07/22
18.7K4
怎样用terraform管理现存资源
通过阅读前面几篇文章,希望大家了解了基础架构及代码的基本概念,以及如何使用packer和terraform在腾讯云上进行新云资源的高效编排。但是在现实世界里,云管理团队还要管理以前那些没有通过terraform管理的资源,本文会作出一个通用流程,方便大家使用。
刘宇雷
2019/08/21
3.4K0
怎样用terraform管理现存资源
windows terraform创建云服务器
terraform跨平台、跟多家公有云都有对接,之前我写过一篇linux平台terraform创建云服务器的文档,这里介绍windows平台terraform创建云服务器。
Windows技术交流
2024/12/20
9670
terraform 入门:创建腾讯云 k8s 集群
本文适合不喜欢在浏览器中点点点,并刚刚入门或者想要入门 terraform 的小伙伴。
谢正伟
2021/08/05
4.2K0
terraform 入门:创建腾讯云 k8s 集群
通过terraform快速创建腾讯云基础资源
Terraform是一个IT基础架构自动化编排工具,可以用代码来管理维护IT资源。它编写了描述云资源拓扑的配置文件中的基础结构,例如虚拟机、存储账户和网络接口。Terraform的命令行接口(Command Line Interface,CLI)提供一种简单机制,用于将配置文件部署到腾讯云或其他任意支持的云上,并对其进行版本控制。
Vicwan
2020/03/12
8.4K0
Terraform系列二腾讯云CVM进一步相关玩法
紧接Terraform系列一腾讯云CVM相关简单创建。准备围绕着cvm先熟悉一下基本的流程。比如:系统盘扩容,挂载数据盘,帐号密钥ssh-key,绑定公网ip.研究一下官方文档体验一下!
对你无可奈何
2022/03/31
2.6K1
terraform简单的开始-vpc cvm创建
一个 resource 块包含 resource 关键字、资源类型、资源名和资源块体三部分。这是terraform中创建资源常用的格式!
对你无可奈何
2023/09/20
7150
如何2分钟用terraform创建腾讯云CLB+CVM+Mysql资源?
大家好,随着腾讯云业务资源不断完善,公司业务不断增长,需要使用的资源和运维配置也越来越多,为大大降低资源配置复杂度,以及释放运维人员配置精力,近期发现国际多家云厂商和海外多云资源纳管SaaS平台,开始使用【Terraform】中间件生态产品,这个产品中间件通过创建一个prider虚拟中间层,实现上层业务命令转换到底层云平台的业务指令,阿里云的云架构图设计资源,就是通过Terraform中间件来完成自动业务架构创建使用的。
TCS-F
2024/05/14
4880
如何2分钟用terraform创建腾讯云CLB+CVM+Mysql资源?
linux terraform环境配置(创建cvm的例子)
terraform依赖go环境,go环境配置参考https://cloud.tencent.com/developer/article/1836994
Windows技术交流
2021/12/07
1.4K0
TF在腾讯云创建mysql跨可用区只读实例
vpc、subnet、安全组等参考官方文档创建,主实例用广州地域的,只读实例使用上海的
arunma
2025/02/28
3070
TF在腾讯云创建mysql跨可用区只读实例
腾讯云Terraform应用指南(二)
上一篇文章中,我们已经成功安装、配置了腾讯云Terraform应用环境,并实践了利用Terraform简单易用的CLI在虚拟网络(VPC)下部署腾讯云服务器(CVM)。以IaC的方式编排云资源,不仅提高了部署速度和效率,还保证了配置的一致性,节约成本。
生态产品团队
2019/08/02
5.9K0
腾讯云支持 Terraform 开发实践
这篇文章从系统架构开始,到核心库讲解,到实践开发,再到单元测试,比较完整的描述了支持Terraform的开发全过程。
Techeek
2018/03/20
21.1K11
腾讯云支持 Terraform 开发实践
腾讯云Terraform应用指南(三)
本文将衔接《腾讯云Terraform应用指南(二)》,继续对Terraform中的指令给出详细的使用指南,让用户全面了解Terraform的每一个可用操作,助力腾讯云Terraform应用。
生态产品团队
2019/08/07
5.8K0
Terraform开启本地日志跟踪以及问题自查
|本文以tencentcloud terraform 为例,介绍使用terraform CLI过程中如何开启本地日志跟踪以及一些通用问题的自查方法
Sesede_被告警吵醒
2021/02/26
2.1K0
Terraform开启本地日志跟踪以及问题自查
Terraform 入门
为了使Terraform能够对你的AWS账户进行直接操作,需要将环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY
yeedomliu
2021/12/10
2.9K0
Terraform 入门
Terraform—基础设施即代码(Iac)
IAC(基础设施即代码),是指通过编写代码来进行基础设施的定义,部署,更新与销毁。让基础设施的变更同代码一样,具有版本控制的能力,同时可以通过codeReview 进行审阅,保障其可靠性与一致性。只需要做好基础设施可变与不可变部分的划分,即可通过流水线工具及相关策略对可变部分进行动态调整,完成基础设施的自动化编排与管理。
tunsuy
2023/10/23
5770
Terraform—基础设施即代码(Iac)
使用 Packer 创建镜像
HashiCorp 是一家国外基础软件提供商,主要开发支持多云部署的开源工具,旗下有6 款主流软件,Terraform、Consul、Vagrant、Nomad、Vault、Packer
Windows技术交流
2023/06/16
9570
Terraform语法入门
HCL是Terraform的配置语言,它是HashiCorp发明的一种声明式语言,能够以更加简短和人性化的方式来描述资源。本文主要介绍HCL配置语言的基本语法及使用,语法采用当前最新版本0.12。
oliverpei
2020/03/17
8.7K2
Terraform系列三腾讯云CVM中的玩法
紧接:Terraform系列一腾讯云CVM相关简单创建,Terraform系列二腾讯云CVM进一步相关玩法。cvm创建完成,准备初始化一下系统,挂载一下数据盘,在cvm中安装一些软件,做一些简单的配置!
对你无可奈何
2022/04/03
4K1
推荐阅读
相关推荐
Terraform系列一腾讯云CVM相关简单创建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档