【Maven】配置文件详解
【Maven】配置⽂件详解
概述
参考
本⽂讲解Maven的配置⽂件及其命令的使⽤。
Maven及其项⽬⽬录结构
Maven⽬录结构
Maven⼯程⽬录结构
其中pom指project object model (项⽬对象模型) 或者 package object management (依赖包对象管理器)
配置⽂件
Maven常⽤的核⼼配置⽂件包括全局配置⽂件settings.xml和项⽬配置⽂件pom.xml,还有不常⽤的⽤户配置⽂件settings.xmlnote
如果在上述三个配置⽂件中出现相同配置,则优先级如下:
pom.xml>settings.xmlnote>settings.xml
以下所有配置⽂件资源来源于课程《》,
包含的资源列表如下:
全局配置 settings.xml
顶级标签
settings.xml配置包含如下顶级标签
完整的settings.xml配置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
${user.home}/.m2/repository
true
false
false
org.apache.maven.plugins
server_001
my_login
my_password
${usr.home}/.ssh/id_dsa
some_passphrase
664
775
nexus aliyun
Nexus Aliyun
http://downloads.planetmirror.com/pub/maven2
central
myproxy
true
http
proxy.somewhere.com
8080
proxyuser
somepassword
*.google.com|ibiblio.org
test
env-test
false
1.5
Windows XP
Windows
x86
5.1.2600
mavenVersion
2.0.3
${basedir}/file2.properties
${basedir}/file1.properties
5.2.8
codehausSnapshots
Codehaus Snapshots
false
always
warn
http://snapshots.maven.codehaus.org/maven2
default
Mavenpom.xml详解
Mavenpom.xml详解
⼀、pom 简介
POM 是项⽬对象模型 (Project Object Model) 的简称, XML 格式,名称为 pom.xml ,它是 Maven 项⽬的核⼼配置⽂件,该⽂件⽤于管理源代码、配置⽂件、开发者的信息和⾓⾊、问题追踪系统、组织信
息、项⽬授权、项⽬的url、项⽬的依赖关系等等.事实上,在 Maven 的世界中,⼀个项⽬可以什么都没有,甚⾄没有代码,但是必须包含 pom.xml ⽂件.并且⼀个 Maven 项⽬有且只有⼀个 pom.xml ⽂件,该⽂
件必须在项⽬的根⽬录下.
⼆、pom.xml 完整结构
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0
/xsd/maven-4.0.0.xsd">
4.0.0
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
我们这⾥就选择⼀些⽐较常⽤的配置来说
三、pom 常⽤配置
1、坐标
坐标是⼀个项⽬的唯⼀标识符,可以通过坐标准确的定位到某⼀个具体的项⽬.有了坐标进⾏定位之后,如果其它的 Maven 项⽬想使⽤该项⽬⽣成的 jar 包,只需要通过坐标引⼊依赖即可
Maven 坐标是通过 groupId、artifactId、version 来共同定位的.
groupId: 组织 Id ,表⽰当前模块所⾪属的项⽬.起名规范:⼀级域名(com、org).⼆级域名(公司名称).项⽬名称
artifactId: 模块 Id, 表⽰⼀个项⽬中的某个模块,例如商城项⽬⾥⾯的订单模块、⽤户模块、商品模块...等等
Maven配置
maven安装+maven本地仓库配置+maven镜像
1. 安装maven前我们电脑上要确保安装了JDK1.6以上的版本
2. 下载Maven
Maven官网下载地址是 /download.html
下载apache-maven-3.2.5后,解压到你想要解压的地方
我本地解压到D:\Program Series\Tools\Apache-maven这个路径下
3. 然后在配置maven的环境变量:
MAVEN_HOME D:\Program Series\Tools\Apache-maven\3.2.5
PATH %MAVEN_HOME%bin
配置好以后环境变量以后,打开cmd窗口,输入mvn -v,如果出现以下内容就表示安装成功。
4. 然后我们给maven添加本地的仓库地址
解压后的maven目录下找到conf目录,其中就会有一个setting.xml文件
我本地的地址是D:\Program Series\Tools\Apache-maven\3.2.5\conf
然后通过编辑器找到第53行,把注释去掉,修改成自己想要设置的本地仓库地址就可以了。
我本地设置在maven的安装目录同级目录下
mvn文件夹的名字可以随便取,但是一定要确保设置的仓库地址是有效的地址,因为maven是不会自动创建这个mvn文件夹的。
5. 实验一下刚才做的事情产生作用没有,控制台输入:
mvnhelp:system
如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。
Maven的安装配置和本地仓库地址的配置就已经结束了。
国内较快的maven镜像
国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用。
====================国内OSChina提供的镜像,非常不错===================
maven基础配置大全
一、maven安装配置
1.检查JDK安装
在安装maven之前,首先要确认你已经正确安装了JDK。maven可以运行在JDK1.4及以上的版本上。本书的所有样例都基于JDK5及以上版本。打开windows的命令行,运行如下的命令来检查Java安装:
echo %JAVA_HOME%
java -version
上述命令首先检查环境量JAVA_HOME是否指向正确的JDK目录,接着尝试运行java命令。如果windows无法执行java命令,或者无法找到JAVA_HOME环境变量,就需要检查Java是否安装了,或者环境变量是否设置正确。
---
2.下载Maven
对于首次接触Maven的读者来说,推荐使用Maven3,在编写本书的时候,Maven2的最新版本是2.2.1,Maven3基本完全兼容Maven2,而且比maven2的性能更好,还对其中某些功能进行了改进。
---
3.本地安装
将安装文件解压到指定的目录中,如:
D:\bin>jar xvf "C:\"Users\Juven Xu\Downloads\apache-maven-3.0 bin.zip"这里的maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境变量,将maven安装配置到操作系统环 境中。
在桌面上右击”我的电脑-->属性-->高级系统设置-->环境变量“,在系统变量中新建一个变量,变量名为M2_HOME,变 量值为maven的安装目录D:\bin\apache-maven-3.0。单击"确定"按钮,接着在系统变量中找到一个名为path的变量,在变量值 的末尾加上%M2_HOME%\bin。注意:多个值之间需要有分号隔开,然后单击“确定”按钮。至此,环境变量设置完成。值得注意的是path环境变 量。当我们在cmd中输入命令时,windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,windows会接着遍历环境变量path中定 义的路径。由于将%M2_HOME%\bin添加到了path中,而这个%M2_HOME%实际上是引用了前面定义的另一个变量,其值是maven的安装 目录。因此,windows会在执行命令时搜索目录D:\bin\apache-maven-3.0\bin,而mvn执行脚本的位置就是这里。
idea中use settings from mvn maven config作用
idea中use settings from mvn maven config作用
在IntelliJ IDEA中,“Use settings from mvn”是指使用Maven的配置文件来设置项目的参数。具体来说,IntelliJ IDEA会读取位于项目目录下的“.mvn/”文件,并使用其中的配置信息来设置项目参数。这个文件通常包含了Maven的运行时配置,包括项目特定的设置,例如本地仓库的位置、远程仓库的URL、使用的代理等。
在选择“Use settings from mvn”之后,你可以使用IDEA内置的Maven工具进行项目的构建和管理。这些操作将根据在“.mvn/”文件中定义的配置进行。
例如,当你使用“mvn compile”命令时,IDEA将读取“”文件中的配置,然后使用这些配置信息来下载并安装项目的依赖项。如果在IDEA中仍然出现依赖未被加载的错误,你可以通过点击Maven工具窗口中的Reload按钮,重新加载并解析项目的依赖关系。
以上信息仅供参考,如果遇到相关问题建议查阅专业书籍或者咨询技术人员。
Eclipse中配置Maven的图文教程
Eclipse中配置Maven的图⽂教程
⼀、 安装Maven
Maven 是使⽤ Java 开发的,所以必须知道当前系统环境中 JDK 的安装⽬录。
解压 Maven 的核⼼程序
将 apache-maven-3.6.3-bin.zip 解压到⼀个⾮中⽂⽆空格的⽬录下配置环境变量。
查看 Maven 版本信息验证安装是否正确
⼆、设置Maven的配置⽂件
1. 配置本地仓库
Maven 的核⼼程序并不包含具体功能,仅负责宏观调度。具体功能由插件来完成。Maven 核⼼程序会到本地仓库中查找插件。如果本地仓库中没有就会从远程中央
仓库下载。此时如果不能上⽹则⽆法执⾏ Maven 的具体功能。为了解决这个问题,我们可以将 Maven 的本地仓库指向⼀个在联⽹情况下下载好的⽬录。
Maven 默认的本地仓库:~.m2\repository ⽬录。
Tips:~表⽰当前⽤户的家⽬录。
找到 Maven 的核⼼配置⽂件 settings.xml ⽂件
D:\develope_tools\Maven\apache-maven-3.5.3\conf\settings.xml
设置⽅式
本地仓库的路径
D:\develope_tools\Maven\apache-maven-3.5.3\repo
2. 配置阿⾥云镜像
为了下载jar 包⽅便,在Maven 的核⼼配置⽂件 settings.xml ⽂件的
标签⾥⾯配置以下标签:
nexus-aliyun
central
Nexus aliyun
/nexus/content/groups/public
三、 在 Eclipse 中配置 Maven
Eclipse 中默认⾃带 Maven 插件,但是⾃带的Maven 插件不能修改本地仓库,所以通常我们不使⽤⾃带的 Maven,⽽是使⽤⾃⼰安装的,在 Eclipse 中配置 Maven 的步骤如
下:
点击 Eclipse 中的 Window→Preference
maven运行时的配置及命令详解
maven运⾏时的配置及命令详解
上⾯是指定端⼝运⾏程序的,也可以先指定好,直接在上⾯的地⽅写jettty:run 当然,如果你是在控制台运⾏且安装了maven,直接可以进⼊项⽬的⽂件中:mvn jetty:run
就是说,在控制台运⾏只要加上⼀个mvn就ok了
源代码格式的包Maven install将项⽬输出构件部署到本地仓库
maven最主要的作⽤有两个⽅⾯,⼀个是对jar包的依赖解决功能,⾃⼰管理jar包,另⼀个功能就是项⽬的构建,打包部署。现在我觉得最重要的还是maven的⽣命周期和插件机制,下⾯就来总结⼀下吧。
mvn install 是将你打好的jar包安装到你的本地库中,⼀般没有设置过是在 ⽤户⽬录下的 .\下⾯。mvn package 只是将你的代码打包到输出⽬录,⼀般的是 target下⾯。
eclipse插件,m2eclipse
1.maven install相当于maven原⽣的命令: mvn install
2.aven build是 m2eclipse这个插件⾃⼰创造的概念,需要你来配置到底需要执⾏什么命令,如下图中的goals输⼊的就是你想执⾏的命令:
Goals就是mvn的意思,所以中间不需要加mvn了
Eclipse中maven常⽤的命令
点击Run As就可以发现⼏个Maven的命令:
Maven Build:
这个命令⽤于编译Maven⼯程,执⾏命令后会在target⽂件夹中的classes中⽣成对应的class⽂件。
Maven Clean:
删除target⽂件夹,即删除⽣成的package包以及class等⽂件。
Maven Test:
先⾃动进⾏编译,在运⾏所有的测试⽤例。
Maven install:
发布⽣成对应的package包。 注意:
留意上⾯的命令的作⽤,build和test都会⽣成相应的class⽂件。也就是说,当你新建⼀个maven⼯程,或者clean⼀个maven⼯程后,如果没有使⽤这两个命令,直接针对类进⾏测试,会跑出java.class.notfound的错误。因为此时还没有编译⽣成class⽂件。
maven的配置文件settings.xml——配置jar包下载源和maven的项目jdk默认版本
maven的配置⽂件settings.xml——配置jar包下载源和maven的项⽬jdk默认版本
1、
2、
3、添加settings.xml⽂件,这⾥我主要添加两项
第⼀个:jar包下载源(使⽤阿⾥云的)
第⼆个:配置创建maven项⽬⾃动使⽤的jdk
如果选择⽂件之后出现Could not read settings.xml, assuming default values的错误,要注意⼀下⼏点:
1、在 settings 配置⽂件中⼀定不能有中⽂,包括注释 内部也不能有。
2、路径⼀定要写对:⽐如说 D:/Maven/repo/ 中的路径使⽤ “/” ⽽⾮ windows 路径中
的 “\”。
3、不管⽤什么编辑器,在保存的时候⼀定要保存为 “UTF-8”。
settings.xml⽂件内容含义:
1. 默认jdk采⽤java8
2. 配置阿⾥云镜像和私服镜像, 并且先从阿⾥云下载, 下载不到的再去私服下载
xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/SETTINGS/1.0.0 /xsd/settings-1.0.0.xsd">
${user.home}/.m2/repository
releases
deployment
He2019
snapshots
deployment
He2019
alimaven
aliyun maven
/nexus/content/groups/public/
central
jdk1.8
true
1.8
UTF-8
1.8
1.8
1.8
dev
nexus
:8081/nexus/content/groups/public/
深入讲解JavaMaven配置
深⼊讲解JavaMaven配置⽬录
⾸先说明maven配置都是那些配置
1. pom.xml 配置
2. maven 的settings.xmla. mirrorsb. serversc. profiles总结
由于maven 使⽤上⼿很容易所以很多时候可以囫囵吞枣能够使⽤就可以了,由于作者最近在做的持续集成的代码扫描的时候,发现私有云⾥⾯⼤型⼯程maven依赖,如果没有弄清楚⾥⾯的配置复杂的项
⽬很难在私有环境⾥⾯正常的编译过。下⾯作者根据⾃⼰的经验谈谈常⽤的配置的作⽤到底是什么。
⾸先说明maven配置都是那些配置
1. pom.xml 配置
pom.xml 配置主要分为两类,⼀类是⽤于配置⾃⼰的实际依赖, ⼆类仅仅⽤于声明⼀些版本和仓库便于版本管理和发布。
在我们java⼯程⾥⾯有⼀个pom.xml 这⾥⾯主要配置⼯程的依赖库,pom配置是可以被继承的,如果是⽗级依赖⼀般是做版本控制以及指定私有仓库的。如下图: 下图主要是展⽰⽗pom 主要作⽤是版本控制以及私有仓库指定。
重点来了:
上图repository的id的作⽤是啥(作者当时很是迷惑,可以乱写那要id⼲啥),这个id实际会和maven settings.xml 的配置⽂件⾥⾯的mirrors 配置有关。2. maven 的settings.xml
下⾯重点讲⼀下settings的配置
如图settings 主要有mirrors servers 和profiles 三部分组成。
a. mirrors
mirrors 主要作⽤是⼀个镜像代理,便于内外⽹⼚库切换,或者单独配置内⽹使⽤。
如果pom中的repository的id能和mirrorOf的值关联上,那么url以mirror的为准,否则以repository中⾃⼰的url为准。
test-nexus
*
sugon local repository
http://172.22.5.34:9996/repository/sugoncloud-public/
史上最全的MavenPom文件标签详解
史上最全的MavenPom⽂件标签详解
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0/maven-v4_0_0.xsd">
4.0.0
asia.banseon
jar
1.0-SNAPSHOT
banseon-maven
/banseon
jira
/banseon
Demo
banseon@
banseon@
banseon@
http://banseon/demo/dev/
HELLO WORLD
banseon
banseon@
Project Manager
Architect
demo
/banseon
No
-5
Apache 2
/banseon/LICENSE-2.0.txt
repo
A business-friendly OSS license
scm:svn:/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
Log4j2+Maven的配置文件示例详解
Log4j2+Maven的配置⽂件⽰例详解
⼀、配置Maven:
pom.xml
UTF-8
2.6.2
org.apache.logging.log4j
log4j-core
${log4j2.version}
org.apache.logging.log4j
log4j-api
${log4j2.version}
⼆、配置log4j.xml⽂件:
将配置⽂件放到classpath⽬录下(/root/workspace/lucenedemo/src/main/resources/log4j.xml
)。
⽂件名:log4j2.xml
/root/workspace/lucenedemo/logs
/root/workspace/lucenedemo/logs/error
/root/workspace/lucenedemo/logs/warn
%d{yyyy-MM-dd HH:mm:ss.SSS} [%t-%L] %-5level %logger{36} - %msg%n
onMismatch="DENY" />
pattern="${PATTERN}" />
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
onMismatch="DENY" />
filePattern="${WARN_LOG_FILE_NAME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">
onMismatch="DENY" />
filePattern="${ERROR_LOG_FILE_NAME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd-HH-mm}-%i.log">
