☞ 创建项目

  1. 选定一个目录,如E:\workspace\maven,新建的项目将放在这个目录。
  2. 运行CMD,切换到该目录。
  3. 执行mvn archetype:generate
    直到输出"Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 634:"会暂停,直接回车,继续。
    直到输出"Choose org.apache.maven.archetypes:maven-archetype-quickstart version: ... Choose a number: 6:"会暂停,直接回车,继续。
    直到输出"Define value for property 'groupId': :",输入项目的groupId,例如org.sonatype.mavenbook.ch03,回车继续。
    直到输出"Define value for property 'artifactId': :",输入项目的artifactId,例如simple,回车继续。
    直到输出"Define value for property 'version':  1.0-SNAPSHOT: :",输入版本号(默认为1.0-SNAPSHOT),回车继续。
    直到输出"Define value for property 'package':  org.sonatype.mavenbook.ch03: :",输入package(默认为org.sonatype.mavenbook.ch03),回车继续。
    确认输入的参数,没有问题输入Y,回车继续;如果需要修改,输入N回车修改。
    结束。
  4. 查看生成的内容

    |- simple
         |- src
         |    |- main
         |    |    |- java
         |    |         |- org.sonatype.mavenbook.ch03.App.java
         |    |- test
         |        |- java
         |            |- org.sonatype.mavenbook.ch03.AppTest.java
         |- pom.xml

    内容如下:

     package org.sonatype.mavenbook.ch03;
    
     /**
    * Hello world!
    *
    */
    public class App
    {
    public static void main( String[] args )
    {
    System.out.println( "Hello World!" );
    }
    }

    App.java

     package org.sonatype.mavenbook.ch03;
    
     import junit.framework.Test;
    import junit.framework.TestCase;
    import junit.framework.TestSuite; /**
    * Unit test for simple App.
    */
    public class AppTest
    extends TestCase
    {
    /**
    * Create the test case
    *
    * @param testName name of the test case
    */
    public AppTest( String testName )
    {
    super( testName );
    } /**
    * @return the suite of tests being tested
    */
    public static Test suite()
    {
    return new TestSuite( AppTest.class );
    } /**
    * Rigourous Test :-)
    */
    public void testApp()
    {
    assertTrue( true );
    }
    }

    AppTest.java

     <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>org.sonatype.mavenbook.ch03</groupId>
    <artifactId>simple</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging> <name>simple</name>
    <url>http://maven.apache.org</url> <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties> <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    </dependencies>
    </project>

    pom.xml

☞ 安装项目

  1. 切换到simple目录,当前目录下有pom.xml文件。
  2. 执行mvn install
    我在这一步的时候,因为使用的mirror缺少surefire-junit3而中断,后来换了mirror(http://repo1.maven.org/maven2/)才得以继续

执行安装命令之后,simple目录下,发现多了一个target目录:


|- target
     |- classes
     |    |- org.sonatype.mavenbook.ch03.App.class
     |- test-classes
     |    |- org.sonatype.mavenbook.ch03.AppTest.class
     |- simple-1.0-SNAPSHOT.jar
     |- maven-archiver
     |- maven-status
     |- surefire-reports


其实,我们这个项目已经经历过了编译、测试、打包和安装。可以在.m2/repository/org/sonatype/mavenbook/ch03/simple看到安装的内容:


|- simple
     |- 1.0-SNAPSHOT
     |     |- simple-1.0-SNAPSHOT.jar
     |     |- simple-1.0-SNAPSHOT.pom
     |     |- _remote.repositories
     |     |- maven-metadata-local.xml
     |- maven-metadata-local.xml


☞ 运行项目

在simple目录下执行 java -cp target/simple-1.0-SNAPSHOT.jar org.sonatype.mavenbook.ch03.App :

  Hello Word级别的快速入门就到这里了,下一篇开始一些概念学习。

2. 创建一个简单的Maven项目的更多相关文章

  1. 用Eclipse 创建一个 简单的 Maven JavaWeb 项目

    使用Maven 创建一个简单的 javaWeb 项目: 本篇属于 创建 JavaWeb 项目的第三篇: 建议阅读本篇之前 阅读 用 Eclipse 创建一个简单的web项目  ;本篇是这这篇文章的基础 ...

  2. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  3. 创建一个简单的maven的web程序

    最近学习Hadoop,发现学习要想用hadoop作为后台运行web程序,必须应用maven,所以学习了今天学习了一下maven,然后搭建了一个简单的web程序 首先我使用的是eclipse中自带的ma ...

  4. 用 Eclipse 创建一个简单的web项目

    Eclipse neon 汉化版 ; 1;右击新建 -->  选择 动态Web项目 2:  填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...

  5. maven(二):创建一个可用的maven项目,完整过程

    环境:eclipse4.5 (内置maven插件) 创建maven项目 文件菜单--新建--其他-- maven project 下一步 选择web 结构 group id:  指项目在maven本地 ...

  6. 创建一个简单的Django项目

    1.首先,启动pycharm,点击File->New Project,如下图所示. 2.在New Project对话框中,选择Django,在Location中设置项目路径以及项目名称,在App ...

  7. maven创建一个简单的web项目

    1.确认maven插件和配置在eclipse中已经完成 如果没完成,可参考这篇博客:http://www.cnblogs.com/mmzs/p/8191979.html 2.在eclipse中用mav ...

  8. 构建一个简单的Maven项目

    这里用Maven Archetype插件从空白开始创建简单的项目. 熟悉Maven 项目和Maven的核心概念. 关键词:构建生命周期(build lifecycle), Maven仓库(reposi ...

  9. 创建一个简单的Maven工程

    Maven的工程结构如下图所示: 大致来看,Maven的工程结构如下: 在创建maven工程时,可以通过骨架创建,也可以不通过骨架创建. 我们先用idea通过骨架创建一个Maven工程. 配置pom. ...

随机推荐

  1. 基于FPGA的HDTV视频图像灰度直方图统计算法设计

    随着HDTV的普及,以LCD-TV为主的高清数字电视逐渐进入蓬勃发展时期.与传统CRT电视不同的是,这些高清数字电视需要较复杂的视频处理电路来驱动,比如:模数转换(A/D Converter).去隔行 ...

  2. 【BZOJ】1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

    [算法]模拟 #include<cstdio> #include<algorithm> using namespace std; ,maxm=; int a[maxn],A[m ...

  3. 【BZOJ】1486 [HNOI2009]最小圈

    [算法]二分+spfa [题解]据说这个叫分数规划? 0-1分数规划 二分答案a,则对于任意的环有w/k≤a即w-ak≤0,若满足条件则a变小,否则a变大. 因为w=w1+w2+...+wk,所以变形 ...

  4. [Unity]在Shader中获取摄像机角度、视线的问题

    又踩了一坑,好在谷歌到了之前的一个人遇到相同的问题,顺利解决. 先说说问题背景,我目前的毕设是体数据渲染,实现的办法是raycast.最基本的一点就是在fragment program里,获取rayc ...

  5. c语言中网络字节序和主机字节序的转换

    函数说明   相关函数:htonl, htons, ntohl 头文件:#include <netinet/in.h> 定义函数:unsigned short int ntohs(unsi ...

  6. upupw注入by pass

    http:' and updatexml(null,concat(0x5c,(/*!00000select SCHEMA_name*/from/*!information_schema*/.schem ...

  7. 64_c2

    coin-or-Bcp-1.4.3-3.fc26.i686.rpm 22-May-2017 21:07 250866 coin-or-Bcp-1.4.3-3.fc26.x86_64.rpm 22-Ma ...

  8. 1002: 当不成勇者的Water只好去下棋了---课程作业---图的填色

    1002: 当不成勇者的Water只好去下棋了 Time Limit: 1 Sec  Memory Limit: 128 MB Description 由于魔王BOSS躲起来了,说好要当勇者的Wate ...

  9. 【洛谷P3651】展翅翱翔之时

    难以吐槽出题人的中二病…… 这题有点类似ZJOI2008 骑士,先跑树上的,最后拆环即可. #include<bits/stdc++.h> #define N 100005 typedef ...

  10. [New learn]讲解Objective-c的block知识

    1.简介 OC的Block感觉就是C中饿函数指针,提供回调功能,但是OC中的block比C的函数指针要更加强大,甚至可以访问本地变量和修改本地变量. block在oc中是一个对象,它可以像一般的对象那 ...