zoukankan      html  css  js  c++  java
  • 第一个Maven案例Hello Maven

    Maven目录结构

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

    一个比较原始的写法,就是使用纯文本编辑器,按照maven约定好的目录,进行创建
    当然,我会使用IDEA进行工程的创建
    这里为了演示使用,我会首先创建一个空的maven工程,IDEA会根据maven约定创建基本的目录结构
    如果有哪个文件夹没有创建,则可以自己创建
     
    java工程的
    目录结构如下
     
    编写源代码:
    D:GitHubJavaWebWebS2S3H3I2HelloMavensrcmainjavacomimoocmaven01modelHelloWorld.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:GitHubJavaWebWebS2S3H3I2HelloMavenpom.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:GitHubJavaWebWebS2S3H3I2HelloMaven argetclassescomimoocmaven01modelHelloWorld.class
    编译过程中的日志信息如下:
    1. D:GitHubJavaWebWebS2S3H3I2HelloMaven>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:GitHubJavaWebWebS2S3H3I2HelloMavensrc estjavacomimoocmaven01modelHelloWorldTest.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
     
     
     
     
     





  • 相关阅读:
    elk 介绍与logstash插件
    es 中文分词器IK
    Swift编译慢?请看这里,全套开源
    你与 “顶级iOS工程师” 距离有多远?
    iOS工程师如何在工作中提升自己?
    iOS技术人的出路在哪里,35岁被优化吗?
    菜鸟摇身变大牛
    iOS-MobLink集成流程
    iOS进阶之页面性能优化
    从零讲解 iOS OpenGL ES 的纹理渲染 原来是泽镜啊
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4929247.html
Copyright © 2011-2022 走看看