Maven学习二:手动创建maven project并编译

在了解了M2_HOME文件结构之后,应该大概知道了这款集成工具的一些情况,下面准备动手做两个Demo,简单认识一下maven常用命令。下面将要手动创建maven project,并用maven compile/test/clean/package等命令处理project等。

    先介绍一下,maven project的必备要素,pom.xml(项目对象管理配置文件),和/src/main/java(指定目录)下的工程文件、/src/main/test(测试类文件根目录)。如下图,project-01 文件结构图:
Maven学习二:手动创建maven project并编译_第1张图片

1.建立必备的文件结构:
我建立了本地project文件夹,/study/maven/01,然后按照(自定义)包路径创建嵌套文件夹/jizg/study/maven/hello 。

2.在project文件夹根目录(study/maven/01)下新建pom.xml文件,xml文件内主要记录本project的标示、依赖项等配置信息。
[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  4.    <modelVersion>4.0.0</modelVersion><!-- 不可缺少 -->  
  5.   
  6.    <groupId>jizg.study.maven.hello</groupId><!-- 项目标示 -->  
  7.    <artifactId>hello-first</artifactId><!--模块标示-->  
  8.    <version>0.0.1-SNAPSHOT</version><!--快照版本-->  
  9.     
  10. </project>  


3.编写(自定义java类)Hello.java ,编写完即可使用mvn compile命令来尝试编译这个project-01。
[html]  view plain copy print ?
  1. package jizg.study.maven.hello;  
  2. public class Hello{  
  3.   
  4.      public static String sayHello(String name){  
  5.           return "hello :"+name;  
  6.      }  
  7.      public static void main(String[] args){  
  8.           System.out.println("Hello world");  
  9.        
  10.      }  
  11. }  


4.在使用mvn compile命令编译项目之前,先快速检查一下pom.xml中配置信息和Hello.java是否一致。

5.遇到控制台报错,可以使用-X命令输出详细的debug信息,方便定位问题并解决问题。比如:mvn compile -X


6.编译成功,控制台会输出如下信息:
[html]  view plain copy print ?
  1. [INFO] Compiling 1 source file to D:\study\maven\01\target\classes  
  2. [INFO] ------------------------------------------------------------------------  
  3. [INFO] BUILD SUCCESS  
  4. [INFO] ------------------------------------------------------------------------  
  5. [INFO] Total time: 4.958s  
  6. [INFO] Finished at: Wed Oct 02 17:41:45 CST 2013  
  7. [INFO] Final Memory: 8M/20M  
  8. [INFO] ------------------------------------------------------------------------  



---------- 分割线 ------------
我遇到的问题:
1)mvn compile 失败,找不到jar6下的tools.jar包。
解决办法,确定环境变量中JAVA_HOME配置路径中有tools.jar包,并升级jdk版本。
2)import org.junit 失败,找不到软件包 org.junit。
解决办法,需要在pom.xml配置中表明dependency引入junit,我本地引入3.8.1版本失败(依旧报“找不到软件包”),所以改为引用4.10版本junit ,引入成功。

你可能感兴趣的:(maven)