您的位置:首页 > 其它

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

2013-10-02 17:47 471 查看
在了解了M2_HOME文件结构之后,应该大概知道了这款集成工具的一些情况,下面准备动手做两个Demo,简单认识一下maven常用命令。下面将要手动创建maven project,并用maven compile/test/clean/package等命令处理project等。
先介绍一下,maven project的必备要素,pom.xml(项目对象管理配置文件),和/src/main/java(指定目录)下的工程文件、/src/main/test(测试类文件根目录)。如下图,project-01 文件结构图:


1.建立必备的文件结构:我建立了本地project文件夹,/study/maven/01,然后按照(自定义)包路径创建嵌套文件夹/jizg/study/maven/hello 。
2.在project文件夹根目录(study/maven/01)下新建pom.xml文件,xml文件内主要记录本project的标示、依赖项等配置信息。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion><!-- 不可缺少 -->

   <groupId>jizg.study.maven.hello</groupId><!-- 项目标示 -->
   <artifactId>hello-first</artifactId><!--模块标示-->
   <version>0.0.1-SNAPSHOT</version><!--快照版本-->
  
</project>


3.编写(自定义java类)Hello.java ,编写完即可使用mvn compile命令来尝试编译这个project-01。
package jizg.study.maven.hello;
public class Hello{

     public static String sayHello(String name){
          return "hello :"+name;
     }
     public static void main(String[] args){
          System.out.println("Hello world");
     
     }
}


4.在使用mvn compile命令编译项目之前,先快速检查一下pom.xml中配置信息和Hello.java是否一致。
5.遇到控制台报错,可以使用-X命令输出详细的debug信息,方便定位问题并解决问题。比如:mvn compile -X

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


---------- 分割线 ------------我遇到的问题:1)mvn compile 失败,找不到jar6下的tools.jar包。解决办法,确定环境变量中J***A_HOME配置路径中有tools.jar包,并升级jdk版本。2)import org.junit 失败,找不到软件包 org.junit。解决办法,需要在pom.xml配置中表明dependency引入junit,我本地引入3.8.1版本失败(依旧报“找不到软件包”),所以改为引用4.10版本junit ,引入成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: