• Maven 3.3.3 Win10环境下的使用实例(上)


    Maven是一个项目管理和构建自动化工具,在使用之前,请按照Apache官网提供的指南进行环境变量配置。

    完成后在PowerShell中输入如下命令来验证Maven的部署情况:

    mvn -v

    正常的响应示例如下图:

    然后我们要清楚一般情况下Maven项目的结构:

    1

    这个结构和我们用其他IDE构建的JAVA项目没有什么不同,我们来尝试构建一个Hello World!项目:

    首先运行命令行工具新建一个文件夹(或直接指定一个目录),键入:

    mvn archetype:generate -DgroupId=com.xkt.helloworld -DartifactId=helloworld -Dpackage=com.xkt.helloworld -Dversion=1.0-SNAPSHOT

    如果你是第一次运行Maven可能会花些时间,此时Maven会下载必要的插件。

    完成下载后,需要用户键入几个选项,首先是maven-archetype-quickstart version

    Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
    1: 1.0-alpha-1
    2: 1.0-alpha-2
    3: 1.0-alpha-3
    4: 1.0-alpha-4
    5: 1.0
    6: 1.1

    如要使用Maven默认项,直接回车即可,下一个是确认项目属性的配置:

    Confirm properties configuration:
    groupId: com.xkt.helloworld
    artifactId: helloworld
    version: 1.0-SNAPSHOT
    package: com.xkt.helloworld

    这些属性是我们在命令行中用 -D 选项指定的。该选项使用 -Dname=value 的格式。回车确认,就完成了项目的建立,如下图所示:

    image

    Maven建立的项目文件目录如下:

    image6

    maven 的 archetype 插件建立了一个 helloworld 目录,这个名字来自 artifactId 。在这个目录下面,有一个 Project Object Model(POM) 文件 pom.xml 。这个文件用于描述项目,配置插件和管理依赖关系。

    源代码和资源文件放在 src/main 下面,而测试代码和资源放在 src/test 下面。

    Maven 已经为我们建立了一个 App.java 文件:

    package com.xkt.helloworld; /** * Hello world! * */publicclass App { publicstaticvoid main( String[] args ) { System.out.println( "Hello World!" ); } }

    正是我们需要的 Hello World 代码,接着要构建和运行这个程序:

    mvn package

    同样,在第一次构建程序时,Maven会下载项目需要的组件到本地仓库(repository),构建成功时提示如下:

    image10

    这个时候, maven 在 helloworld 下面建立了一个新的目录 target/ ,构建打包后的 jar 文件 helloworld-1.0-SNAPSHOT.jar 就存放在这个目录下。编译后的 class 文件放在 target/classes/ 目录下面,测试 class 文件放在 target/test-classes/ 目录下面。

    为了验证我们的程序能运行,执行下面的命令:

    java -cp target/helloworld-1.0-SNAPSHOT.jar com.xkt.helloworld.App

    命令行工具会输出 Hello World! 字样,至此一个Hello World! 程序就完成了。

    尽管此时您可能还有很多疑问,别担心,笔者将在下一篇文章继续介绍 maven 的核心概念,帮助您更深入地认识 maven。

  • 相关阅读:
    范仁义css3课程---7、文本样式2
    android图片缓存框架Android-Universal-Image-Loader(二)
    Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
    憨人 音译
    Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
    Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
    Android开发
    87狂热
    迟志强
    翟惠民
  • 原文地址:https://www.cnblogs.com/gugia/p/4951250.html
Copyright © 2020-2023  润新知