1. 用Maven 命令创建一个简单的Maven项目

在cmd中运行如下命令:

  1. mvn archetype:generate
  2. -DgroupId=com.mycompany.app
  3. -DartifactId=my-app-simple
  4. -Dversion=1.0
  5. -DarchetypeArtifactId=maven-archetype-quickstart

即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven库中下载相关的依赖,耐心等待即可。

maven的大致结构如下:

  1. my-app
  2. |-- pom.xml
  3. `-- src
  4. |-- main
  5. |   |-- java
  6. |   |   `-- com
  7. |   |       `-- mycompany
  8. |   |           `-- app
  9. |   |               `-- App.java
  10. |   `-- resources
  11. |       `-- META-INF
  12. |           `-- application.properties
  13. `-- test
  14. `-- java
  15. `-- com
  16. `-- mycompany
  17. `-- app
  18. `-- AppTest.java

src/main/java : java源文件存放位置

src/main/resource : resource资源,如配置文件等

src/test/java : 测试代码源文件存放位置

2.简单POM.xml

打开项目即可看到pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.mycompany.app</groupId>
  5. <artifactId>my-app-simple</artifactId>
  6. <packaging>jar</packaging>
  7. <version>1.0</version>
  8. <name>my-app-simple</name>
  9. <url>http://maven.apache.org</url>
  10. <dependencies>
  11. <dependency>
  12. <groupId>junit</groupId>
  13. <artifactId>junit</artifactId>
  14. <version>3.8.1</version>
  15. <scope>test</scope>
  16. </dependency>
  17. </dependencies>
  18. </project>

这段代码中最重要的是包含groupId, artifactId 和 version 的三行。这三个元素定义了一个项目基本的坐标

 

groupId 定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp

artifactId 定义了当前Maven项目在组织中唯一的ID, 可以理解为项目中的模块, 模块为Maven中最小单位构件

version 项目的版本

3.运行简单Maven命令

我们已经创建了最简单的Maven项目,下面我们来执行一些简单的构建命令

  编译: compile

在cmd中,将目录切换到my-app-simple下,执行mvn clean compile

build success之后我们会在my-app-simple下看到新增了一个target目录,该目录下存放项目编译后的文件,如.class文件

  清理: clean

cmd目录my-app-simple下执行命令 mvn clean

会将target文件删除,即清理项目,该命令可以结合其他命令运行

  测试: test

cmd目录my-app-simple下执行命令 mvn test

会执行src/test/java 下的Junit 测试代码

当然在执行测试之前会自动执行编译命令,运行结果如下图:

打包: package

cmd目录my-app-simple下执行命令 mvn package

会将项目打成jar包,并放在target目录中

执行此命令之前会先执行编译和测试命令

安装:install 

cmd目录my-app-simple下执行命令 mvn install

会将项目jar包安装到本地仓库中,以便其他项目使用

执行此命令之前会先执行编译,测试,打包命令

maven入门(1-3)构建简单的maven项目的更多相关文章

  1. 构建简单的Maven工程,使用测试驱动的方式开发项目

    构建简单的Maven工程很简单,这里写这篇随笔的原因是希望自己能记住几个小点. 一.安装Maven 1.下载maven:https://maven.apache.org/download.cgi 2. ...

  2. 三、使用Maven构建简单的java项目

    前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse     2.apache-maven-3.3.9   3. ...

  3. Maven入门系列(一):Eclipse中使用Maven

    Maven下载和安装 在使用Maven之前首先先要下载Mavne的免安装包,下载地址:http://maven.apache.org/download.cgi 想看源码的可以下载src版本,使用的下载 ...

  4. maven构建简单的web项目

    把jdk给换掉 项目修改好了以后写个页面测试一下,结果正常 下面应该添加依赖让web项目一步步丰满起来. 0-添加依赖 1-建一个servlet 2-web.xml中添加servlet声明 3-重新运 ...

  5. flink入门:01 构建简单运行程序

    1. mac平台安装flink(默认最新版) brew install apache-flink 安装结果: Version 1.7.1, commit ID: 89eafb4 2. jdk版本,我尝 ...

  6. Maven入门指南⑤:使用Nexus搭建Maven私服

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  7. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)

    接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...

  8. webpack 构建简单的vue项目

    ---恢复内容开始--- webpack主要执行流程: 入口→loader处理→出口 // webpack.config.js 文件:const path = require('path') // 引 ...

  9. Maven入门指南(一)

    Maven介绍: Maven是一个强大的Java项目构建工具. 什么是构建工具? 构建工具是将软件项目构建相关的过程自动化的工具.构建一个软件项目通常包含以下一个或多个过程: 生成源码(如果项目使用自 ...

随机推荐

  1. 图之单源Dijkstra算法、带负权值最短路径算法

    1.图类基本组成 存储在邻接表中的基本项 /** * Represents an edge in the graph * */ class Edge implements Comparable< ...

  2. EasyUI Parser 解析器

    Parser(解析器)应用场景 1,自动调用parser 只要我们书写相应的class,easyui就能成功的渲染页面,这是因为解析器在默认情况下,会在dom加载完成的时候($(docunment). ...

  3. 关于 preHandle 重写和添加参数问题,重写HttpServletRequestWrapper和Filter

    由于 preHandle 中HttpServletRequest 只有setAttribute而没有setParameter 也没有 add 方法 所以是没办法直接添加参数的.从网上查了很多资料,基本 ...

  4. Java equals() 和hashCode()方法详解

    Java的Object类中定义了equals方法,Object类中的equals方法源代码如下,从源代码中可以看出Object类中的equals方法是用来返回判断两个对象是否指向同一个对象(引用地址) ...

  5. Python 基础语法复习

    由于选修了<人工智能模式识别>的课程,要求用phthon来实现算法,乘着周三晚上没课,就来回顾一下python的主要语法. 环境:   Anaconda    Python3.6 1.变量 ...

  6. VMware静态地址上网

    虚拟机通过dhcp获取ip,当系统重启时可能导致ip变更,出现不必要的麻烦,以下是通过nat模式设置虚拟机静态ip同时能够上网的方式. 编辑VMware,依次点击“编辑”--“虚拟网络编辑器” 注:为 ...

  7. Java面试宝典-2017

    Java面试宝典2017版 一. Java基础部分........................................................................... ...

  8. Java 泛型进阶

    擦除 在泛型代码内部,无法获得任何有关泛型参数类型的信息. 例子1: //这个例子表明编译过程中并没有根据参数生成新的类型 public class Main2 { public static voi ...

  9. redis配置文件详解及实现主从同步切换

    原理:redis复制是怎么进行工作 如果设置了一个slave,不管是在第一次链接还是重新链接master的时候,slave会发送一个同步命令 然后master开始后台保存,收集所有对修改数据的命令.当 ...

  10. 20.C++- "&&","||"逻辑重载操作符的缺陷、","逗号重载操作符的分析

    "&&","||"逻辑重载操作符的缺陷 大家,都知道"&&","||"拥有"短 ...