`

Maven_入门

 
阅读更多

编写POM

Maven的核心是pom.xml,POM(Project Object Model)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。

创建hello-world文件夹,在其内建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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.ran.mvnbook</groupId>

<artifactId>hello-world</artifactId>

<version>1.0-SNAPSHOT</version>

<name>Maven laborMkt Project</name>

</project>

注:project是所有pom.xml的根元素

modelVersion指定了当前POM模板的版本,对于Maven2和Maven3来说,它只能是4.0.0

groupId定义了项目属于哪个组,这个组往往和所在组织和公司有关

artifactId定义了当前Maven项目在组中的唯一ID

version指定了HelloWorld项目当前的版本

 

编写主代码

src/main/java目录下

package com.ran.mvnbook.helloworld;

public class HelloWorld{

public String sayHello(){

return "hello maven";

}

public static void main(String[] args){

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

}

}

 

项目根目录下运行命令 mvn clean compile

clean 告诉Maven清理输出目录target/,默认情况下,Maven构建的所有输出都在target目录中,compile告诉Maven编译项目主代码

 

编写测试代码

src/test/java目录下

package com.ran.mvnbook.helloworld;

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);

}

}

 

修改POM代码,增添Junit依赖

<?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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.ran.mvnbook</groupId>

<artifactId>hello-world</artifactId>

<version>1.0-SNAPSHOT</version>

<name>Maven laborMkt Project</name>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.11</version>

<scope>test</scope>

</dependency>

</dependencies>

</project>

执行测试,运行 mvn clean test

 

打包和运行

打包运行mvn clean package

不过这种包为不可执行包需修改POM,增添maven-shade-plugin

<?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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.ran.mvnbook</groupId>

<artifactId>hello-world</artifactId>

<version>1.0-SNAPSHOT</version>

<name>Maven laborMkt Project</name>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.11</version>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

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

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

<version>2.2</version>

<executions>

<execution>

<phase>package</phase>

<goals><goal>shade</goal></goals>

<configuration>

<transformers>

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

<mainClass>com.ran.labor.helloworld.HelloWorld</mainClass>

</transformer>

</transformers>

 

</configuration>

</execution>

</executions>

</plugin>

</plugins>

</build>

</project>

再次运行mvn clean package 

target下有两个jar包hello-world-1.0-SNAPSHOT.jar和original-hello-world-1.0-SNAPSHOT.jar,前者是带有Main-Class信息的可运行jar,后者为原始jar

运行java -jar hello-world-1.0-SNAPSHOT.jar 控制台输出hello maven

成功!

分享到:
评论

相关推荐

    maven_实战_学习笔记

    Maven 使用入门 主代码 位置:src/main/java 命令:mvn clean compile 解释:clean告诉maven清理target目录 compile告诉maven 编译项目主代码 测试代码 位置:src/test/java 命令:mvn clean test 打包运行 ...

    maven_my.zip

    《 Maven全方位解析:从入门到精通 》 Maven,这个在Java开发中不可或缺的构建工具,以其强大的项目管理和依赖管理能力,深受开发者喜爱。"maven_my.zip" 文件为我们提供了一个深入理解并掌握Maven的绝佳资源。下面...

    springmvc_mybatis3_maven_junit4

    这个项目可以帮助开发者快速入门Spring MVC和MyBatis 3的整合,了解如何利用Maven进行依赖管理和构建,以及如何编写JUnit测试以确保代码质量。此外,对于想要提升Web应用开发技能的人来说,深入研究该项目的源码也是...

    maven基础入门教程

    ### Maven基础入门教程知识点整理 #### Maven概述 1. **Maven定义与历史** Maven是一个开源项目管理工具,由Apache软件基金会管理。它用纯Java编写,旨在简化Java项目的构建过程以及管理项目生命周期。Maven通过...

    Maven快速入门

    例如,如果你将 Maven 解压缩到 C:\Program Files\Apache Software Foundation\maven-1.0.2,那么 MAVEN_HOME 应该设置为 C:\Program Files\Apache Software Foundation\maven-1.0.2。 3. 生成一个 Maven 工程 ...

    maven + springmvc 入门实例

    **SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...

    Maven3入门

    Maven3入门

    Maven+SpringMVC的入门级HelloWorld实例

    在IT行业中,Maven和SpringMVC是两个非常重要的组件,它们分别是项目管理和Web应用程序开发的核心...通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本用法,为进一步深入学习和实践打下坚实的基础。

    maven教案-maven入门学习资料

    【 Maven 概述】 在软件开发中,尤其是在Java领域,我们常常面临一系列问题,如环境配置差异、依赖管理混乱以及项目构建的繁琐等。这些问题在 Maven 出现后得到了很好的解决。Maven 是一个强大的项目管理工具,由 ...

    超详细Maven快速入门到精通.txt打包整理.zip

    标题"超详细Maven快速入门到精通.txt打包整理.zip"表明这是一个关于Maven的全面教程,涵盖了从基础到高级的各个方面,旨在帮助用户快速掌握Maven的使用。Maven是一个Java项目管理和综合工具,由Apache软件基金会开发...

    maven-javaweb入门

    ** Maven JavaWeb 入门详解 ** Maven 是一个强大的项目管理和依赖管理工具,尤其在JavaWeb开发中,它能够帮助开发者有效地构建、管理和部署项目。本教程将引导你了解如何使用Maven来构建JavaWeb应用程序,以"web...

    maven的入门使用

    ### Maven 入门使用 #### 一、Maven 安装与配置 Maven 是一款自动化构建工具,它可以帮助开发者简化 Java 项目的构建过程。在使用 Maven 之前,首先需要安装并配置好 Maven 环境。 **1. Maven 安装** - 下载 ...

    Maven 使用入门.pdf

    ### Maven 使用入门详解 #### Maven 介绍与优势 Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加...

    maven入门到精通

    maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...

    maven快速入门笔记

    【Maven快速入门笔记】 Maven,作为一款强大的项目管理工具,是Java开发中的必备利器,旨在解决项目构建和依赖管理的复杂性。本笔记将带你快速掌握Maven的基本概念和使用方法,让你从零开始轻松入门。 **1. Maven...

    maven eclipse 培训教程

    Maven in action.pdf Maven2+Eclipse开发J2EE.pdf Maven2_基础教程.pdf maven2之m2eclipse使用手册.doc ...《Maven实战》(国内首本Maven著作)(Maven的安装、配置及使用入门) 《Maven权威指南》.pdf.pdf

    HIbernate+Maven入门demo

    **Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...

    Maven入门到精通

    **Maven入门到精通** Maven,一个强大的Java项目管理工具,由Apache软件基金会开发,旨在简化构建过程,提供统一的构建系统,并通过依赖管理和项目信息管理,帮助开发者更高效地构建、测试和部署Java应用。它通过...

    maven从入门到实战

    本文首先针对maven3.3.3 的版本构建普通Java 应用和Java Web 应用进行讲解。然后针对公司私有maven 库的情况下,如何安装自有资源及在maven 应用中使用私有maven 库中的资源进行说明。接下来针对maven 与配置管理...

    Maven手把手入门教程

    ** Maven手把手入门教程 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署项目。在Java开发领域,Maven已经成为事实上的标准,因为它简化了项目的构建过程,通过标准化的生命周期和依赖...

Global site tag (gtag.js) - Google Analytics