maven以及idea使用maven-创新互联
一、maven概述
1、背景
一般项目开发中,我们开发的代码需要依赖一些额外的库。而解决这些依赖,我们都需要手动从网上下载相应的jar包,然后添加到项目中的 lib 目录下作为第三方库存在。而当依赖很多的时候,这种方式是非常低效的。
创新互联致力于互联网品牌建设与网络营销,包括做网站、成都网站设计、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联核心团队十载专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。2、maven的作用
maven核心功能就是合理叙述项目间的依赖关系。通俗的说就是通过在pomxml文件指定依赖的项目,然后maven会自动下载对应的依赖,然后添加到项目中,无需手动解决。
3、maven的仓库概念
maven仓库分为本地仓库、第三方仓库(内部私有仓库)、中央仓库(网上共用仓库)。
项目本身会先在本地仓库查找依赖,如果找不到就会到中央仓库下载到本地,然后使用。
4、maven java项目的结构
使用maven创建java项目时,目录结构会有所不同,目录结构如下:
project_name
--pom.xml 该项目的依赖配置文件
--src
--main
--java java源码目录
--resources 资源目录,包括图片,配置文件等
--test
--java 测试java源码目录
--resources 测试资源目录
--target 编译文件输出目录
5、pom.xml的依赖关系
前面已经说到pom.xml用于配置项目的依赖。那么里面是如果描述依赖的呢,比如如何唯一确定依赖(也可以说是坐标)等。
如何获取坐标
一个依赖的坐标有3个基本必须的关键字(还有不少其他关键字),分别是groupId、artifactId、version。配置一个依赖的基本格式如下:
所有依赖都包含在这里面
xxx 一般为包名
xxx 一般为项目名
xxx 所需要的jar的版本,因为一个项目可能有多个版本
一般来说,到中央仓库中找相应的表以及项目,就可以找到完整的坐标。
更为详细的讲解,请见:https://www.cnblogs.com/whgk/p/7112560.html
二、maven本身配置
maven的配置文件主要是 conf/settings.xml,配置内容如下:
F:\java_maven_repo
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
jdk-1.8
true
1.8
1.8
1.8
1.8
三、配置IDEA使用maven
1、配置IDEA使用我们刚才配置的maven
File--setting--搜索maven ---点击Maven -- 设置Maven Home Directory 为我们的上面设置的maven的目录,同时修改User settings file为我们上面配置的 settings.xml.
注意:每次新建项目必须重新配置这里,否则会默认还原。
2、配置maven系统环境变量
增加M2_HOME环境变量:
在系统环境变量中添加 M2_HOME=F:\apache-maven-3.3.9。然后保存即可。
将maven的bin目录添加到 Path环境变量中:
%M2_HOME%\bin
3、配置maven中的依赖
在IDEA中创建maven工程,然后创建完后,点击pom.xml进行添加依赖。
4、maven中子模块的使用
通常一个项目中,会有多个子项目,或者子模块的存在。一般情况下,会先创建总的maven项目,然后在idea中可以通过右键添加模块的方式来添加子模块,并且在添加了子模块之后,会在父项目中自动生成子模块的信息,如:
会在父maven项目中的pom.xml中生成modules标签
ct_producer
ct_consumer
ct_analysis
这表示有三个子模块,名字是 ct_producer、ct_consumer、ct_analysis
然后每个子模块都有自己的pom.xml。在父项目的pom.xml中,写入的依赖,是可以被所有子模块使用的,但是子模块中自己定义的依赖只能自己使用。
一般来说,我们会在父项目中引入所有子项目都需要的依赖,然后在子项目中引入自己的依赖。
另外一种使用方式是:
在父项目中声明但不引入依赖,使用以下方式:
这里是具体依赖
org.scala-lang
scala-library
${scala.version}
当子模块中想要使用这个依赖,需要再次声明,但是不再次指定依赖的版本。
org.scala-lang
scala-library
使用这种方式,能够在父项目层次就指定依赖以及对应的版本,可以规范整个项目公共依赖的版本,防止由于依赖不一致导致的问题
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:maven以及idea使用maven-创新互联
当前地址:http://azwzsj.com/article/djesgg.html