zoukankan      html  css  js  c++  java
  • (三)Maven使用入门之Hello World

    主要内容

    • 编写POM
    • 编写主代码
    • 编写测试代码
    • 打包和运行

      到目前为止,已经大概了解并安装好了Maven,现在开始创建一个最简单的HelloWorld项目。


    编写POM

      就像Make的Makefile、Ant的build.xml一样,Maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。

      现在先为HelloWorld项目编写一个最简单的pom.xml。

      首先创建一个名为helloworld的文件夹,打开该文件夹,新建一个名为pom.xml的文件,输入其内容,如下所示:

     1 <project xmlns="http://maven.apache.org/POM/4.0.0"
     2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     4     <modelVersion>4.0.0</modelVersion>
     5 
     6     <groupId>com.chd.work</groupId>
     7     <artifactId>helloworld</artifactId>
     8     <version>1.0-SNAPSHOT</version>
     9     <packaging>jar</packaging>
    10     <name>Maven Hello World Project</name>
    11 
    12     <properties>
    13         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    14     </properties>
    15 
    16     <build>
    17         <plugins>
    18             <plugin>
    19                 <groupId>org.apache.maven.plugins</groupId>
    20                 <artifactId>maven-compiler-plugin</artifactId>
    21                 <version>3.7.0</version>
    22                 <configuration>
    23                     <source>1.9</source>
    24                     <target>1.9</target>
    25                     <encoding>UTF-8</encoding>
    26                 </configuration>
    27             </plugin>
    28             <plugin>
    29                 <groupId>org.apache.maven.plugins</groupId>
    30                 <artifactId>maven-shade-plugin</artifactId>
    31                 <version>3.1.0</version>
    32                 <executions>
    33                     <execution>
    34                         <phase>package</phase>
    35                         <goals>
    36                             <goal>shade</goal>
    37                         </goals>
    38                         <configuration>
    39                             <transformers>
    40                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
    41                                     <mainClass>com.chd.work.helloworld.HelloWorld</mainClass>
    42                                 </transformer>
    43                             </transformers>
    44                         </configuration>
    45                     </execution>
    46                 </executions>
    47             </plugin>
    48         </plugins>
    49     </build>
    50 </project>

    简要介绍一下pom.xml中的内容:

      project是所有pom.xml的根元素,它还声明了一些POM相关的命名空间及xsd元素,虽然这些属性不是必须的,但使用这些属性能够让第三方工具(如IDE中的xml编辑器)帮助我们快速编辑POM。

      根元素下面的第一个子元素modelVersion指定了当前POM模型的版本,对于Maven3来说,它只能是4.0.0。

      这段代码中最重要的是包含groupId、artifactId和version的三行。这三个元素定义了一个项目基本的坐标,在Maven的世界,任何的jar、pom或者war都是以基于这些基本的坐标进行区分的。

      groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp。

      artifactId定义了当前Maven项目在组中唯一的ID,我们为这个Hello World项目定义artifactId为helloworld。

      version指定了Hello World项目当前的版本——1.0SNAPSHOT。SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。

      name元素声明了一个对用户更为友好的项目名称,虽然这不是必须的,但还是推荐为每个POM声明name,以方便信息交流。

    编写主代码

      默认情况下,Maven假设项目主代码位于src/main/java目录,我们在该目录下创建文件com/chd/work/helloworld/HelloWorld.java,其内容如下所示:

     1 package com.chd.work.helloworld;
     2 
     3 public class HelloWorld {
     4     public String sayHello() {
     5         return "Hello Maven!";
     6     }
     7 
     8     public static void main(String[] args) {
     9         System.out.println(new HelloWorld().sayHello());
    10     }
    11 }

      代码编写完毕后,使用Maven进行编译,在项目根目录下运行命令mvn clean compile,得到输出。clean告诉Maven清理输出目录target/,compile告诉Maven编译项目主代码,将项目主代码编译至target/classes目录(编译好的类为com/chd/work/helloworld/HelloWorld.class。

      至此,Maven在没有任何额外的配置的情况下就执行了项目的清理和编译任务。

    打包和运行

      简单地执行命令mvn clean package进行打包,Maven在打包之前会执行编译、测试等操作,得到helloworld-1.0-SNAPSHOT.jar文件。

      如果想要其他的Maven项目直接引用这个jar文件,还需要一个安装的步骤。执行mvn clean install,在打包之后,又执行安装任务,将该项目输出的jar安装到了本地Maven仓库中。可以打开相应的文件夹看到Hello World项目的pom和jar。

  • 相关阅读:
    nginx配置反向代理
    hyperchain HVM使用java编写智能合约的编译、部署流程
    leetcode 140单词拆分Ⅱ
    bomblab phase5
    bomb lab 二三阶段
    2021暑假算法学习笔记(基础复习)#2
    2021暑假算法学习笔记(基础复习)#1
    O(logn)最长上升子序列并输出
    A Daily Topic # 7 阶乘的和(二进制/枚举)
    A Daily Topic # 6 星期几(模拟)
  • 原文地址:https://www.cnblogs.com/lucky-zhangcd/p/8395387.html
Copyright © 2011-2022 走看看