看了很多關於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項目: