zoukankan      html  css  js  c++  java
  • mvn从下载安装到纯命令行创建第一个mvn程序(编码,编译,测试,安装,打包)全过程细致分解

    1.maven的下载和安装:

      a.maven的下载注意事项:如果你是windows,请选择①号,如果你是linux,请选择②号,下载地址:http://maven.apache.org/download.html;

      b.下载好后就是解压和安装,配置环境变量了,现在以windows安装包为例,介绍安装配置过程:

        b-1.下载好之后打开下载文件所在文件夹,并在某盘根目录(个人习惯,新装软件是要安装到盘根下的,方便找)下创建maven文件夹,将压缩文件解压到该目录下:

        

        b-2.由于本文件是免安装的,所以接下来就直接是配置环境变量了,如果是临时使用,可以通过set指令设置环境变量(set PATH="D:mavenapache-maven-3.5.3in";%PATH%)。如果要长久使用,回到电脑桌面(win7),右键我的电脑->属性->高级->环境变量->新建一个环境变量MAVEN_HOME=D:mavenapache-maven-3.5.3找到path环境变量,在其末尾添加;%MAVEN_HOME%in;保存后点击win+r,输入cmd指令,回车进入命令行,输入echo %PATH%查看环境变量是否配置进去,输入:mvn -v查看输出:(请事先安装好jdk)

        

      b-3.来到maven安装目录的conf文件夹下,复制一份settings.xml到用户目录的.m2文件夹下,该文件夹下此时应该还有一个文件夹repository(中央仓库),复制的目的是当前用户对settings.xml文件的修改不会影响到所有计算机用户:

        

      b-4.回到命令行,输入mvn help:system,maven会下载一些重要的文件到中央仓库里。ok现在可以开始写自己的第一个maven项目了

    2.创建maven文件

      a.在桌面上新建一个文件夹,命名为helloworld,在该文件夹下创建一个名为pom.xml的文件,输入如下内容:

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <project xmlns="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
     5         http://maven.apache.org/maven-v4_0_0.xsd">
     6         
     7 <modelVersion>4.0.0</modelVersion>  
     8   
     9     <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.winner.trade,maven会将该项目打成的jar包放本地路径:/com/winner/trade -->  
    10     <groupId>com.yichu.mytest</groupId>  
    11   
    12     <!-- 本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->  
    13     <artifactId>helloworld</artifactId>  
    14   
    15     <!-- 本项目目前所处的版本号 -->  
    16     <version>1.0.0-SNAPSHOT</version>  
    17   
    18     <!-- 打包的机制,如pom,jar, maven-plugin, ejb, war, ear, rar, par,默认为jar -->  
    19     <packaging>jar</packaging>  
    20     <name>hello world programe</name>
    21      <!-- 配置测试单元的依赖包 --> 
    22     <dependencies>
    23     <dependency>
    24     <groupId>junit</groupId>
    25     <artifactId>junit</artifactId>
    26     <version>4.7</version>
    27     <scope>test</scope>
    28     </dependency>
    29     </dependencies>
    30 </project>
    31         

      b.依次创建如下目录结构

        b-1.src/main/java:该文件夹是maven的核心代码文件夹,像web项目的dao,service,controller,pojo等文件都默认存放在此处。

        b-2.src/test/java:该文件夹很明显,就是我们的测试文件存放地点了。

        b-3.src/main/resources:主类的默认存放配置文件的路径。

        b-4.src/test/resources:测试类的配置文件存放位置。

        b-5.logs:日志存放路径

      c.当然,目前我们的helloworld程序还用不到这么多文件夹,但是b-1,b-2还是得创建的。创建好之后来到b-1文件夹下,根据pom.xml配置文件申明,创建如下目录结构:com/yichu/mytest,并在此目录下创建自己的java文件。如HelloWorld.java

     1 package com.yichu.mytest;
     2 public class HelloWorld{
     3     public String getstring(){
     4         return "hello world";
     5     }
     6     public static void main(String args[]){
     7         
     8         System.out.println(new HelloWorld().getstring());
     9         
    10     }
    11     
    12 }

      d.回到b-2目录下,创建自己的测试类,如helloworldtest.java

     1 package com.yichu.mytest;
     2 import static org.junit.Assert.assertEquals;
     3 import org.junit.Test;
     4 public class helloworldtest{
     5     @Test
     6     public void testgetstring(){
     7         HelloWorld hello=new HelloWorld();
     8         String res=hello.getstring();
     9         assertEquals("hello world",res);    
    10     }
    11     
    12     
    13 }

      e.到这一步,我们的编码工作就算完了,接下来是编译,运行,安装,打包了。

        e-1.编译:回到命令行,cd到helloworld文件夹下,输入:mvn clean compile进行编译,然后你会看到下载的提示。

        e-2.测试:同目录下输入:mvn clean test,等待下载。

        e-3.打包:考虑到程序主入口如果未申明,使用java -jar ***不能执行的问题,我们需要在pom.xml中加上这么一段,之后在同目录下输入:mvn clean package进行打包

     1 <build>
     2     <plugins>
     3         <plugin>  
     4                 <groupId>org.apache.maven.plugins</groupId>  
     5                 <artifactId>maven-shade-plugin</artifactId>  
     6                 <version>1.4</version>  
     7                 <configuration>  
     8                     <createDependencyReducedPom>false</createDependencyReducedPom>  
     9                 </configuration>  
    10                 <executions>  
    11                     <execution>  
    12                         <phase>package</phase>  
    13                         <goals>  
    14                             <goal>shade</goal>  
    15                         </goals>  
    16                         <configuration>  
    17                             <transformers>  
    18                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
    19     <!--主程序入口指点-->                                    <mainClass>com.yichu.mytest.HelloWorld</mainClass>  
    20                                 </transformer>  
    21                             </transformers>  
    22                         </configuration>  
    23                     </execution>  
    24                 </executions>  
    25         </plugin>  
    26     </plugins>
    27     </build>

        效果如图:

         e-4.同目录下cd到target目录下,之后输入java -jar helloworld-1.0.0-SNAPSHOT.jar回车,看到效果如图:

         e-5.如果希望其他程序也想使用该helloworld程序,需要一个安装的过程,之后复制该jar包到项目的classpath下,就能使用它。安装命令:mvn clean install.

    3.补充:我们称基本的目录结构如(src/main/java,src/test/java)何pom.xml等为项目的骨架。实际上maven为我们提供了专门的生成命令:mvn archetype:generate来生成项目,避免我们一步步去创建文件夹。

  • 相关阅读:
    ZKW费用流修正
    BZOJ 1060 [ZJOI2007]时态同步
    BZOJ 1059 [ZJOI2007]矩阵游戏
    腾讯WEB前端开发面试经历,一面二面HR面,面面不到!
    亲历腾讯WEB前端开发三轮面试经历及面试题
    2015大型互联网公司校招都开始了,薪资你准备好了嘛?
    10款最好的 Bootstrap 3.0 免费主题和模板
    python3之urllib基础
    python3下应用requests
    python心得二(编码问题)
  • 原文地址:https://www.cnblogs.com/g177w/p/8965170.html
Copyright © 2011-2022 走看看