Java语言学习2---Maven版Hellow World

刚开始学Java时,总是非常奇怪,为什么一些开源软件总是那么变态,使用Ant或Maven来编译程序,用Eclipse不好吗?后来才渐渐发现,Eclipse的工程,由于每个人机器中Eclipse的配置可能不同,所以可能造成工程导入失败,而采用Ant或Maven则可以在很大程度上避免这种情况的发生,尤其是Maven,这个工具可以使你建立与工程开发者相同的开发环境,自动处理Jar包依赖,把我们从查找下载依赖Jar包的简单劳动中解放出来,因此熟练掌握Maven对于深入掌握Java语言是非常有帮助的。

在这篇文章中,我将搭建起一个基于Maven的开发环境,采用Log4j输出Hello World,同时探讨一个怎样在Eclipse中找开Maven的工程。

首先,下载最新版本Maven:http://maven.apache.org/download.html ,目前的最新版本为3.0.4。下载二进制版,将其进行解压到某个目录下即可。

建立mproj目录,在下面是利用Maven建立一个工程:

set JAVA_HOME=d:\jdk7u6
maven_dir\bin\mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.bjcic.learn -DartifactId=myapp
初次运行时,由于需要从网络上下载一些东西来建立环境,所以需要一些时间,还会提示一些问题,所有问题直接回车即可。完成后,将在当前目录下建立myapp目录。并且在该目录中生成了最重要的pom.xml文件,该文件是mavon项目最重要的配置文件。

由于我们需要使用log4j这样的三方库,所以我们需要在mproj\myapp\pom.xml中添加依赖:

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.0-beta3</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.0-beta3</version>
        <scope>compile</scope>
      </dependency>
  </dependencies>
其中junit为系统为我们生成的,log4j是我们自己添加的。

进入mproj\src\main目录,建立resources目录,并编译log4j所需要的配置文件log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
    </Console>
  </appenders>
  <loggers>
    <logger name="org.apache.log4j.xml" level="info"/>
    <root level="debug">
      <appender-ref ref="STDOUT"/>
    </root>
  </loggers>
</configuration>
我们建立一个测试类com.bjcic.learn.AppUtil.java代码如下所示:
package com.bjcic.learn;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class AppUtil {
    private static Logger logger = LogManager.getLogger(AppUtil.class.getName());
    public void runUtil() {
        logger.info("Hello World");
    }
}
在系统为我们生成的src/main/java/com/bjcic/learn/App.java中添加如下代码:

public static void main( String[] args )
    {
        AppUtil appUtil = new AppUtil();
        appUtil.runUtil();
    }
现在就一切都配置正常了,可以开始编译及运行了。

首先,编译工程:

%maven_home%\bin\mvn compile
系统会下载一些依赖,最后会提示编译成功。接着我们需要安装该工程(为了便于使用Maven来运行):
%maven_home%\bin\mvn install

最后是运行:

%maven_home%\bin\mvn exec:java -Dexec.mainClass=com.bjcic.learn.App -Dexec.args="p1 p2"

至此利用Maven 3编译运行一个工程就全部完成了,但是始终在命令行下工作,没有语法提示是一个比较痛苦的事情,因此Maven提供了将项目转为Eclipse工程的功能。

%maven_home%\bin\mvn eclipse:eclipse
这样就可以在eclipse中直接打开了。




   

你可能感兴趣的:(java,java,java,maven,maven,log4j)