zoukankan      html  css  js  c++  java
  • Apache Maven的入门使用之项目的基本构建(1)

    前言

      最近在研究java框架struts2的相关漏洞,然后就去看了官方给出的文档。在看文档的过程中发现使用到了Apache Maven这个项目管理工具,我在网上搜索了一下,大多数文章都写得不是很系统,容易产生迷惑。我就自己来根据自己的学习过程,做个记录。一来为了方便自己复习,二来别人如果有类似需求也可以来看看。写的不好的地方,还请多多提出。

    0x00 安装以及简单配置

      首先我们从官方进行下载,下载链接如下:

    http://maven.apache.org/download.cgi

     

    这里我下载的是二进制的包,解压以后我们来到bin目录下,可以看到如下的目录结构:

      

    然后我们复制路径,设置环境变量。然后通过版本号的打印来判断是否安装成功,如果输出类似如下信息,说明安装成功(linux下的安装也是这个步骤,下载,解压缩,然后设置环境变量):

    C:Users10920>mvn -v
    Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
    Maven home: D:mavenapache-maven-3.5.2in..
    Java version: 1.8.0_152, vendor: Oracle Corporation
    Java home: D:programjavajdk1.8.0_152jre
    Default locale: zh_CN, platform encoding: GBK
    OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

    0x01 从helloworld开始构建我们的项目

      我们在命令行中输入如下,开始构建我们自己的项目:

      

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

    这里涉及到几个关键的字段,我们随后会讲到。然后archetype:generate会为我们列出一系列的archetype,也就是项目模型。我这里默认为#1107, 也就是maven-archetype-quickstart。然后选择版本,我们默认选择6,(1.1的版本):

    然后让我们再次确定之前的信息:

    回车或者输入Y回车之后。提示项目部署完成,在家目录helloworld目录下, 目录结构如下:

    其中,测试代码放在src/test目录下,源代码和资源文件放在src/main下。我们可以观察到生成了App.java的一个文件,内容如下:

    package com.test.helloworld;
    
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" );
        }
    }

    0x02 项目打包

      我们切换到helloworld目录下 ,就可以对我们创建好的helloworld项目进行打包操作了。打包的结果根据pom.xml文件中的配置选项来决定,这里默认将会生成jar的二进制包。

      我们执行命令, mvn package

    如果没有error比较顺利,我们的项目构建成功,输出如下:

    [INFO]
    [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ helloworld ---
    [INFO] Building jar: C:Users10920helloworld	argethelloworld-1.0-SNAPSHOT.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 7.798 s
    [INFO] Finished at: 2018-01-03T20:02:16+08:00
    [INFO] Final Memory: 19M/146M
    [INFO] ------------------------------------------------------------------------

    提示信息中说明了我们 生成的jar包的位置,此时我们还发现生成 了一个target的目录。编译后的 class 文件放在 target/classes/ 目录下面,测试 class 文件放在 target/test-classes/ 目录下面。

    0x03 测试项目

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

      

    说明我们的项目成功了。

    本节我们简单学习了如何用Maven项目管理工具,对项目进行创建,打包。随后我们将会学到项目的详细配置,依赖的安装,项目的分发等。

  • 相关阅读:
    array_intersect_ukey — 用回调函数比较键名来计算数组的交集
    array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
    array_intersect_key — 使用键名比较计算数组的交集
    array_intersect_assoc — 带索引检查计算数组的交集
    array_flip — 交换数组中的键和值
    array_filter — 用回调函数过滤数组中的单元
    array_fill — 用给定的值填充数组
    array_fill_keys — 使用指定的键和值填充数组
    array_diff — 计算数组的差集
    array_diff_ukey — 用回调函数对键名比较计算数组的差集
  • 原文地址:https://www.cnblogs.com/magic-zero/p/8185430.html
Copyright © 2011-2022 走看看