Maven(2):新建Java Project

来源:互联网 发布:剑三纯阳萝莉捏脸数据 编辑:程序博客网 时间:2024/06/10 20:18

1. 选择maven project

MyEclipse -> new -> other project -> 输入”maven”搜索 -> 选择maven project
这里写图片描述

2. Next

选择下一步Next
这里写图片描述

3.webapp过滤

输入webapp
这里写图片描述

4.可能出现的问题

不选create a simple project 可能会出现retrieving archetypes: has encountered a problem.这种错误
这里写图片描述

(1)原因

Apache Maven是当今非常流行的项目构建和管理工具,它把开发人员从繁杂的项目依赖关系处理事务中解放出来,完全自动化管理依赖问题。在Web应用开发过程中,通常我们会用到maven的archetype插件来生成项目框架,用maven构建项目骨架时,速度非常慢,无论是在命令行中直接使用,还是在IDE中使用。

要了解其中的原因,需要知道maven是如何运作的。构建过程中,我们只是向maven提供了一些groupId、artifactId、archetypeArtifactId等信息,只有这些信息的情况下maven是如何构建出整个项目的呢?它的知识来源于哪里呢?答案是:

http://repo1.maven.org/maven2/archetype-catalog.xml  

这里记录了,所有archetype构建信息,maven通过archetype插件构建项目骨架时会远程访问页面,通过maven的-X参数可以证明这一点。

(2)解决方法

(1)通过浏览器查看http://repo1.maven.org/maven2/archetype-catalog.xml页源码,另存到本地,命名为archetype-catalog.xml.
(2)把文件archetype-catalog.xml复制到目录.m2\repository\org\apache\maven\archetype\archetype-catalog\2.2下面。
(3)添加到MyEclipse
这里写图片描述

这里写图片描述

5.新建后maven java project

新建成功后的基本目录
这里写图片描述

这里写图片描述

这里写图片描述

6.添加log4j

(1)依赖和基本代码

在pom.xml中添加依赖,并在src/main/java中新建MyTest.javasrc/main/resources 目录中添加log4j.properties
pom.xml添加

  <!-- https://mvnrepository.com/artifact/log4j/log4j -->    <dependency>        <groupId>log4j</groupId>        <artifactId>log4j</artifactId>        <version>1.2.17</version>    </dependency>

MyTest.java

public class MyTest {    private static Logger logger = Logger.getLogger(MyTest.class);    public static void main(String[] args) {        // 记录debug级别的信息          logger.debug("This is debug message.");          // 记录info级别的信息          logger.info("This is info message.");          // 记录error级别的信息          logger.error("This is error message.");      }}

log4j.properties

### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出DEBUG 级别以上的日志到=D://logs/error.log ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = D://logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n### 输出ERROR 级别以上的日志到=D://logs/error.log ###log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =D\://logs/error.log log4j.appender.E.Append = truelog4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n

(2)运行出错

运行 MyTest.java, 出现 错误: 找不到或无法加载主类
原因:
在项目根目录新建4个源码文件夹:
src/main/java - 存放类
src/main/resources - 存放配置等资源
src/test/java - 存放测试类
src/test/resources - 存放测试配置等资源
解决方法:
修改src/main/javasrc/main/resources 的输出路径:
右键 -> bulid path -> Source -> 修改
这里写图片描述

成功打印:

[DEBUG] 2017-02-22 13:45:58,514 method:com.MyTest.main(MyTest.java:13)This is debug message.[INFO ] 2017-02-22 13:45:58,516 method:com.MyTest.main(MyTest.java:15)This is info message.[ERROR] 2017-02-22 13:45:58,516 method:com.MyTest.main(MyTest.java:17)This is error message.
0 0