`
Charlie_1989
  • 浏览: 13247 次
文章分类
社区版块
存档分类
最新评论

Maven学习笔记003——使用入门

 
阅读更多

Maven约定:项目的根目录放置pom.xml

1. 创建一个名为maven-standard-demo文件夹,新建一个pom.xml文件

D:\workspace\Maven\maven-standard-demo

Pom.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<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>com.charlie.mavendemo</groupId>

<artifactId>maven-standard-demo</artifactId>

<version>1.0-SNAPSHOT</version>

<name>Maven Standard Demo</name>

</project>

2. Maven目录约定

maven-standard-demo目录下创建如下文件夹src/main/java存放项目主代码

然后创建main/java主代码下创建com/charlie/mavendemo目录

maven-standard-demo目录下创建如下文件夹src/test/java存放测试代码

然后创建test/java主代码下创建com/charlie/mavendemo目录

编写主代码:main/java/mavendemo/helloword/HelloWord.java

package com.charlie.mavendemo.helloword;

public class HelloWorld {

public String sayHello(){

return "Hello Maven";

}

public static void main(String[] args){

System.out.println(new HelloWorld().sayHello());

}

}

编写测试代码:test/java/mavendemo/helloword/HelloWordTest.java

package com.charlie.mavendemo.helloword;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class HelloWorldTest {

@Test

public void testSayHello(){

HelloWorld helloworld = new HelloWorld();

String result = helloworld.sayHello();

assertEquals("Hello Maven",result);

}

}

3. 编译

在项目目录D:\workspace\Maven\maven-standard-demo下执行

>mvn clean compile

生成target目录和target/classes目录

4. 测试

再次执行mvn clean test

target目录下生成了surefiresurefire-reports、和test-classes三个目录,出测试报告

5. 打包

>mvn clean package

执行了编译、测试,且生成JAR文件

6. 运行

可以让其他Maven项目引用生成的JAR

>mvn clean install

执行了编译、测试、打包,且会生成目录maven-archiver

7. 生成可执行的JAR

默认打包生成的JAR是不能直接运行的,带main方法的类信息不会添加到manifest

编辑pom.xml,在<project><build><plugins>下配置maven-shade-plugin插件,

……

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-shade-plugin</artifactId>

<version>1.2.1</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>shade</goal>

</goals>

<configuration>

<transformers>

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

<mainClass>com.charlie.mavendemo.helloword.HelloWord</mainClass>

</transformer>

</transformers>

</configuration>

</execution>

</executions>

</plugin>

</plugins>

</build>

</project>

再次执行>mvn clean install

耐心等待各种下载

执行>java -jar target\maven-standard-demo-1.0.jar会输出Hello Maven

分享到:
评论

相关推荐

    maven学习笔记maven学习笔记

    maven学习笔记maven学习笔记maven学习笔记

    maven学习笔记01(基础入门)

    ** Maven基础入门 ** Maven是一个Java项目管理工具,它主要负责构建、依赖管理和项目信息管理。...在`maven_study_01`的学习笔记中,你可以找到更多关于Maven的基础知识和实践案例,帮助你快速上手并掌握这一工具。

    maven学习笔记,快速入门maven

    内容概要:maven学习笔记,适合刚接触maven的人能让你快速入门。 适用人群:大学生或者初基础maven的人 使用场景及目标:idea集成maven,用来下载依赖包

    Maven学习笔记.zip

    **Maven学习笔记** 在Java开发领域,Maven是一个不可或缺的构建...本学习笔记涵盖了Maven的基础知识,从安装到使用,希望能为你的Maven学习之路提供帮助。在实际开发中,不断实践和探索,你将更加熟练地驾驭Maven。

    maven学习笔记整理

    maven学习笔记整理

    Maven实战——入门篇

    ### Maven实战——入门篇 #### Maven简介与概念 Maven是一种强大的、跨平台的项目管理工具,主要用于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目还是大型的企业级应用,Maven都能...

    尚硅谷Maven课程笔记代码资源

    【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并熟练运用Maven进行自动化构建。该资源包含课件、源码和相关的笔记,使得学习过程更加...

    Maven 教程:基础篇-尚硅谷学习笔记 2022年

    **Maven教程:基础篇——尚硅谷学习笔记 2022年** Maven是一个强大的Java项目管理和构建工具,由Apache软件基金会开发。它通过提供一个标准的项目对象模型(Project Object Model,POM)来简化项目的构建过程,并...

    Maven学习笔记 PDF记录一下

    Maven学习笔记,使用中遇到的问题,集成eclipse的各种坑,以便记录,为了以后复习使用。

    培训机构传出的maven学习笔记

    在“培训机构传出的maven学习笔记”中,我们可能涵盖以下几个关键知识点: 1. **Maven的基本概念**:理解Maven的核心概念,如POM.xml文件、仓库(本地仓库和中央仓库)、生命周期和构建阶段(如clean、compile、...

    maven学习笔记.rar

    ** Maven学习笔记详解 ** Maven,作为Java项目管理和构建工具,是开发人员不可或缺的利器。它通过使用一种标准化的项目对象模型(Project Object Model,POM)来管理项目的依赖关系,构建过程以及配置信息。Maven...

    mybatis_maven学习笔记

    【mybatis_maven学习笔记】 在Java开发领域,MyBatis和Maven是两个不可或缺的工具,它们分别在数据访问层和项目构建方面扮演着重要角色。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    maven学习笔记1

    【Maven学习笔记1】 Maven是一个强大的Java项目管理和构建工具,它可以帮助开发者管理项目的依赖、构建过程、项目信息和报告。本笔记主要涵盖了Maven的基础知识,包括资料收集、安装指南,特别是针对Linux环境下的...

    个人Maven学习笔记

    ### 个人Maven学习笔记 #### 为什么使用Maven? 在软件开发过程中,尤其是在使用Java进行后端开发时,项目通常会依赖大量的第三方库或框架。如果没有统一的管理工具,这些依赖很容易出现版本冲突的问题,增加了...

    201205_Maven学习笔记1.rar

    【标题】:“201205_Maven学习笔记1.rar”揭示了关于Maven的深入学习内容,这个压缩包包含了一系列文档,旨在帮助开发者更好地理解和应用Maven这一强大的Java项目管理和构建工具。 【描述】:尽管描述部分是空的,...

    Maven 学习笔记.docx

    【Maven学习笔记】 Maven是一个强大的项目管理和构建工具,主要应用于Java开发领域。它能够自动管理项目的依赖关系,帮助开发者解决因jar包版本冲突、依赖管理混乱等问题带来的困扰。Maven通过制定一套规范化的项目...

    201205_Maven学习笔记3.rar

    【标题】"201205_Maven学习笔记3.rar"所涵盖的知识点主要集中在Maven的使用和集成上,这是一个关于Maven的详细学习资料压缩包,包含多个文档,帮助用户理解并掌握Maven在实际开发中的应用。Maven是一个强大的Java...

    maven项目学习笔记记录

    **Maven项目学习笔记记录** 在软件开发领域,Maven是一个强大的项目管理和构建工具,尤其在Java开发中广泛使用。本笔记将深入探讨Maven的核心概念、主要功能以及实际应用场景,帮助你更好地理解和掌握这一重要工具...

Global site tag (gtag.js) - Google Analytics