Maven目录结构

    
    src:程序源代码
        -main
            -java:java代码
                -package:自定义的包
            -resources:存放资源文件
            -webapp:如果是web工程的话,还需要这个文件夹
            -WEB-INF:class文件
        -test:测试代码
            -java
                -package
 
 
 

一个比较原始的写法,就是使用纯文本编辑器,按照maven约定好的目录,进行创建
当然,我会使用IDEA进行工程的创建
这里为了演示使用,我会首先创建一个空的maven工程,IDEA会根据maven约定创建基本的目录结构
如果有哪个文件夹没有创建,则可以自己创建
 
java工程的
目录结构如下
 
编写源代码:
D:\GitHub\JavaWeb\Web\S2S3H3I2\HelloMaven\src\main\java\com\imooc\maven01\model\HelloWorld.java
  1. package com.imooc.maven01.model;
  2. /**
  3. * 测试 HelloWorld
  4. * Created by sherry on 2015/10/21 0021 22:37.
  5. */
  6. publicclassHelloWorld{
  7. /**
  8. * Hello World
  9. * @return
  10. */
  11. publicString sayHello(){
  12. return"Hello World!";
  13. }
  14. }
编写POM文件
D:\GitHub\JavaWeb\Web\S2S3H3I2\HelloMaven\pom.xml
 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <projectxmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>org.zln.test</groupId>
  7. <artifactId>HelloWorld</artifactId>
  8. <packaging>pom</packaging>
  9. <version>1.0-SNAPSHOT</version>
  10. <!--导入依赖-->
  11. <dependencies>
  12. <!--junit依赖-->
  13. <dependency>
  14. <groupId>junit</groupId>
  15. <artifactId>junit</artifactId>
  16. <version>4.11</version>
  17. <scope>test</scope>
  18. </dependency>
  19. </dependencies>
  20. <properties>
  21. <!--指定文件编码-->
  22. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  23. </properties>
  24. <build>
  25. <plugins>
  26. <plugin>
  27. <!--配置jdk编译版本-->
  28. <groupId>org.apache.maven.plugins</groupId>
  29. <artifactId>maven-compiler-plugin</artifactId>
  30. <version>2.0.2</version>
  31. <configuration>
  32. <source>1.8</source>
  33. <target>1.8</target>
  34. </configuration>
  35. </plugin>
  36. <plugin>
  37. <!--源代码打包-->
  38. <groupId>org.apache.maven.plugins</groupId>
  39. <artifactId>maven-source-plugin</artifactId>
  40. <version>2.4</version>
  41. <executions>
  42. <execution>
  43. <!--指定运行source的阶段-->
  44. <phase>package</phase>
  45. <!--目标-->
  46. <goals>
  47. <goal>jar-no-fork</goal>
  48. </goals>
  49. </execution>
  50. </executions>
  51. </plugin>
  52. </plugins>
  53. </build>
  54. </project>
 
 
执行编译编码
进入到POM所在的路径,也就是项目的根路径
执行:mvn compile
自动创建如下目录,并生成class文件
D:\GitHub\JavaWeb\Web\S2S3H3I2\HelloMaven\target\classes\com\imooc\maven01\model\HelloWorld.class
编译过程中的日志信息如下:
  1. D:\GitHub\JavaWeb\Web\S2S3H3I2\HelloMaven>mvn compile
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]Building maven01-model 1.0-SNAPSHOT
  6. [INFO]------------------------------------------------------------------------
  7. [INFO]
  8. [INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven01-model ---
  9. [INFO]Using'UTF-8' encoding to copy filtered resources.
  10. [INFO]Copying0 resource
  11. [INFO]
  12. [INFO]--- maven-compiler-plugin:2.5.1:compile (default-compile)@ maven01-model ---
  13. [INFO]Nothing to compile - all classes are up to date
  14. [INFO]------------------------------------------------------------------------
  15. [INFO] BUILD SUCCESS
  16. [INFO]------------------------------------------------------------------------
  17. [INFO]Total time:1.080s
  18. [INFO]Finished at:WedOct2122:56:29 CST 2015
  19. [INFO]FinalMemory:6M/184M
  20. [INFO]------------------------------------------------------------------------
 
编写测试代码
D:\GitHub\JavaWeb\Web\S2S3H3I2\HelloMaven\src\test\java\com\imooc\maven01\model\HelloWorldTest.java
  1. package com.imooc.maven01.model;
  2. import org.junit.*;
  3. import org.junit.Assert.*;
  4. publicclassHelloWorldTest{
  5. @Test
  6. publicvoid testSayHello()throwsException{
  7. Assert.assertEquals("Hello World!",newHelloWorld().sayHello());
  8. }
  9. }
 
执行测试命令
mvn test
 
打包
mvn package
 
 
 
 
 

第一个Maven案例Hello Maven的更多相关文章

  1. 新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目

    之前都没试过用maven来管理过项目,但是手动找包导包确实不方便,于是今天用2016版的IDEA进行了maven的初尝试. 打开IDEA,创建新项目: 然后选择Maven,以及选择自己电脑的jdk: ...

  2. 2.Maven特点,Maven约定,建立第一个Maven项目

     1 Maven是跨平台的项目管理工具.主要服务于基于java平台的项目构建,依赖管理和项目信息管理. 项目构建 清理à编译à測试à报告à打包à部署 理想的项目构建: 高度自己主动化 跨平台 可重 ...

  3. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...

  4. maven之一:maven安装和eclipse集成

    maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...

  5. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  6. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念

     1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...

  7. maven系列之一maven安装和与IDE集成

    第一部分:maven的基本信息和安装,配置  maven是一个项目构建和管理的工具,提供了帮助管理 构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行依赖管理.管理二进制库等 ...

  8. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  9. eclipse创建Maven父子结构Maven项目

    1.创建聚合模块 选择菜单项 File—>New—>Other,在弹出的对话框中选择Maven下的Maven Project,然后单击Next按钮,在弹出的New Maven Projec ...

随机推荐

  1. 1.VS Code 开发C#入门 安装Dotnet core

    1. dot.net  网站 下载 .NET Core 1.0  (https://www.microsoft.com/net/download/core) 2. 打开命名提示符: 3.dotnet ...

  2. 《坐热板凳》第九次团队作业:Beta冲刺与验收准备(第一天)

    <坐热板凳>第九次团队作业:Beta冲刺与验收准备 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https ...

  3. GCH文件

    GCH文件是将H文件当作CPP进行编译之后出现的结果, 在头文件进行编译后就会在文件夹中看到一个 “文件名.h.gch” 的文件. 那么在再次对gch文件进行编译的时候就会将gch当作cpp一样对待. ...

  4. Javascript笔记部分

    写入HTML输出 document.write(“<h1>”); 改变HTML内容 x = document.getElementById(“demo”) //查找元素 后面可以.valu ...

  5. redis redis-cli 操作指令

    默认选择 db库是 0 redis-cli -p 6379   查看当前所在“db库”所有的缓存key redis 127.0.0.1:6379> keys *   选择 db库 redis 1 ...

  6. HashMap原理以及自己实现HashMap

    1.HashMap是什么? HashMap是java常用来存储键值对的数据结构,它是以key/value的形式存储的,它不是线程安全的,Key可以为null值. 2.HashMap的实现原理 Hash ...

  7. css清除浮动,清除子节点margin溢出问题

    清除浮动 .clearfix:after{ content:”.”; display:block; height:0; clear:both; visibility:hidden; } 清除margi ...

  8. 微信小程序中 this.setData is not a function报错

    在微信小程序中我们一般通过以下方式来修改data中的数据: 比如获取小程序缓存: wx.getStorage({ key: 'is_screen', success: function (res) { ...

  9. php扩展开发-变量

    我们在php中用到的变量,在底层的C语言代码里是一个结构体,由四个成员组成typedef struct _zval_struct { zvalue_value value; /* 变量的值,也是一个结 ...

  10. Python学习笔记(三):文件和集合操作

    python string与list互转 因为python的read和write方法的操作对象都是string.而操作二进制的时候会把string转换成list进行解析,解析后重新写入文件的时候,还得 ...