看了很多关于Maven的文章,大部分都是要到cmd控制台下面去敲命令,讲一堆乱七八糟的概念,很繁琐。
写本文的目的不是告诉你Maven是什么,而是告诉你Maven在eclipce实际开发中怎么用,怎么配自己的源。
Maven 学习:
1. 需要一个有maven插件的eclipce(如下图,help-about Eclipse中查看)
有些版本的spring可能会和maven冲突,
如果找不到合适的eclipce可以选用Spring官方定制的
2. 下载maven(http://maven.apache.org/)
配置环境变量(可不配):
3. 打开D:\apache-maven-3.5.2\conf\setting.xml
在localRepository后面添加
<localRepository>D:/apache-maven-3.5.2/mvn/mvnrepository</localRepository>
注:以上地址为jar库存放位置
在<mirrors>里添加
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
注:以上地址为阿里maven库
4. 打开Eclipse,依次打开Windows-->Prefrences,点击Maven的右边的三角符号,以展开Maven的配置界面
5. 之后,点击Maven下面的Installations,出现如下界面,请点击Add,即以下红色圈出部分,选择Maven的安装目录,这里我的Maven的安装目录为D:\apache-maven-3.5.2 ,选择你的Maven安装目录,并点击确定, 之后可以点击Apply,点击OK。
打开User Settings 按下图配置红色的settings.xml
并检查紫色框中的地址是否与localRepository添加的一致。
6. 依照下图依次打开
然后输入ma,找到下图红色部分
上图红框部分可以查看阿里库是否添加成功。
7. 创建Maven项目,依次点击File-->New-->Maven Project ,请选中Create a simple project(skip archetypeselection),【跳过原型选择】
之后点击Next
注:如果不使用简单模型,需要选择maven原型。
8.
需要给你的maven工程创建一个groupid和artifactid,
groupid加artifactid需要全局唯一
一般groupid都是导入的包名
artifactid为导入的工程名(项目名)
其他maven工程是这么命名的,例如:
<groupId>org.apache.commons</groupId>——导入包名
<artifactId>commons-lang3</artifactId>——导入工程名(项目名)
<version>3.1</version>——版本
后面添加jar包时也是输入这三项。
项目创建好后,可以看到这样的:
项目左上角有M的代表maven项目
其中,最重要的是pom.xml文件
如果导入别人的项目,根据别人的pom.xml文件配置jar。
如果项目运行爆:
说明log4j日志没有配正确。
9.配置log4j日志。
可以根据版本添加上面三个包,添加不同版本,eclipce会自动依赖不同版本。如下图:
这三个包之间对于关系版本可以在Maven库:http://mvnrepository.com/ 里面查询。
然后是下图红框部分:
创建log4j.properties文件,输入:
### direct log messages to stdout###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
### direct messages to filehibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L - %m%n
### set log levels - for moreverbose logging change 'info' to 'debug' ###
log4j.rootLogger=debug,stdout
#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug
### log HQL query parseractivity
#log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
#log4j.logger.org.hibernate.SQL=debug
### log JDBC bind parameters###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update###
#log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resourceacquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following lineif you want to track down connection ###
### leakages when usingDriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
其中Log的级别:
error 只显示错误 异常
debug 调试级别 流转信息全打印
info 普通
warn 警告
FATAL 灾难级别(不常用)等
成功运行效果:
10.也可以直接将java或web项目直接转换成maven项目: