文章目录
- 序言: maven介绍
- 1. maven下载与安装
- 2. 配置seting.xml
- 2.1 setting.xml文件目录
- 2.2 参数设置预览
- 3.使用maven管理Eclipse工程
- 4 使用Eclipse创建maven工程
- 5. 添加日记系统SJF4J+log4j2
- 6. 遇到的问题
- 问题1: 运行Run as --->maven build弹出Edit configuration框
- 问题2: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- 问题3: log4j:WARN No appenders could be found for logger!
序言: maven介绍
maven希望提供一种标准的方式编译工程,一种项目内容的清晰明确定义,一种简单方式发布项目及可以跨项目进行JAR文件分享,maven是一种可以编译和管理java工程的工具。
1. maven下载与安装
1.1 下载
下载地址:官网:http://maven.apache.org/download.cgi
1.2 安装
- 新建一个目录如:D:\DevelopTools\MAVEN
PS: 目录不要包含空格或汉字
1.3 maven环境变量配置
1.3.1 配置环境变量
- 首先确认已经配置环境变量JAVA_HOME,然后我们需要配置M2_HOME和MAVEN_HOME这两个环境变量。
M2_HOME: maven解压目录:D:\DevelopTools\MAVEN\apache-maven-3.6.3
MAVEN_HOME: maven解压目录
在环境变量PATH添加: %M2_HOME%\bin
1.3.2 maven安装验证
在命令行输入: mvn -version
2. 配置seting.xml
2.1 setting.xml文件目录
${maven.home}/conf/settings.xml
2.2 参数设置预览
2.2.1 需要配置的参数
我们其实主要关注两项参数设置就可以:
localRepository:本地仓库目录
mirror: 服务器镜像,国内访问maven的中心仓库比较慢,国内阿里云提供的镜像访问速度快。
2.2.3 配置本地仓库
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
2.2.4 配置镜像
- 配置服务器参考
因为网络原因,maven的中心服务器网速慢,国内一般使用阿里云的镜像,稳定且速度快。
</mirrors>
<!-- 修改为阿里巴巴的镜像 -->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 中央仓库1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
2.2.5 配置JDK版本
1.配置jdk版本
<profile>
<id>jdk-1.8</id>
<activation>
<jdk>1.8</jdk>
</activation>
<repositories>
<repository>
<id>jdk18</id>
<name>Repository for JDK 1.8 builds</name>
<url>http://www.myhost.com/maven/jdk18</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
3.使用maven管理Eclipse工程
3.1 Eclipse安装 Maven插件
最新版的Eclipse一般都已经默认安装maven插件了,
3.2 Eclipse配置maven
1.依次打开: windows—>preference—> maven–>Installations,
点击"add"添加maven的安装目录。
3.3 Eclipse选择maven配置参数
1.依次打开: windows—>preference—> maven–>User settings,
将global_settings和user_settings的配置文件设置为安装目录下的setting.xml文件,然后点击“update settings”, 下面的Local Repostiory目录就好自动更新为settings.xml中设置的目录
4 使用Eclipse创建maven工程
4.1 新建maven工程
- 依次打开: file—>new —> other–> maven project
4.2 maven工程结构
在maven的工程结构中的pom.xml文件是Maven进行工作的主要配置文件。在这个文件中我们可以配置Maven项目的所需依赖的远程仓库,groupId、artifactId和version等Maven项目仓库的必须元素。
5. 添加日记系统SJF4J+log4j2
在java应用程序开发过程中,日记信息是我们在调试和运维过程中查错的重要信息,下面就以添加日记系统SJF4J+log4j2依赖为例来说明
5.1 修改pom.xml
1.在pom.xml添加SJF4J和Log4j2的依赖。
<!-- slf4j核心包-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.28</version>
</dependency>
<!--核心log4j2jar包-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.28</version>
</dependency>
5.2 添加log4j.properties文件
- 在src/main/下新增resource目录,在resources目录下创建log4j.propertes文件,并填入如下内容。
#you cannot specify every priority with different file for log4j
#log4j.rootLogger=debug,stdout,info,debug,warn,error
log4j.rootLogger=info,stdout
#console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss a}]:%p %l%m%n
#info log
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.info.File=./src/com/hp/log/info.log
log4j.appender.info.Append=true
log4j.appender.info.Threshold=INFO
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#debug log
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug.File=./src/com/hp/log/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#warn log
log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn.File=./src/com/hp/log/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#error
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error.File = ./src/com/hp/log/error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
5.3 slf4j + log4j2测试
- 修改App.java的代码如下,测试控制台输出信息: “maven application start.”
package yangyongfeng.maven_demo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
Logger logger = LoggerFactory.getLogger(App.class);
logger.info("maven application start." );
}
}
- 测试输出结果
6. 遇到的问题
问题1: 运行Run as —>maven build弹出Edit configuration框
解决方法:运行Run as —> Run configurations,在弹出框中的"globals"中填入:compile(如图)。
问题2: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
原因: 将java运行环境默认配成了 jre的目录,改成JDK的目录就可以了。
按 windows–>preference—>java---->Installled JRES–>add,选择JDK的安装目录即可,记得添加完成后要重新勾选JDK选项。
问题3: log4j:WARN No appenders could be found for logger!
添加配置文件log4j.properties(文件名必须这个),配置文件放在src\main\resources 目录下。