`
lijiejava
  • 浏览: 262392 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论
阅读更多
                                                   Maven入门

Maven简介与安装

         Maven是一个跨平台的项目管理工具,主要服务于基于java平台的项目构建,依赖管理和项目信息管理。构建是指对代码的编译,测试,以及生成报告和打包部署等,Maven能够自动化构建过程,同时能够管理项目中所需要的依赖,如相应的jar包等等。

         Maven的安装网上有许多资料,附件是Maven3.0的压缩包。

简单的HelloWorld项目

1. 创建一个名为HelloWorld的目录,新建一个名为pom.xml的文件,输入如下内容:
<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.00"
         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.lijie.mvn </groupId>
    <artifactId>helloworld</artifactId>
    <version>1.0 </version>
    <name>Hello World Project</name>  
</project>



         pom.xml文件是Maven项目的核心,类似Ant的build.xml文件一样。POM(Prject Object Model)即项目对象模型,它定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。上述pom文件中的各个主要元素的意义是:
project :           所有pom.xml文件的根元素
modelVersion : 指定当前POM模型的版本,对于Maven2以及Maven3而言,只能是4.0.0
groupId :         定义了项目属于哪个组,如果你的公司是mycom,项目为myapp,那 
                     么groupId一般就是com.mycom.myapp
artifactId :        定义了当前Maven项目在组中的唯一的ID ,本例中即为HelloWorld
version :          定义当前的版本
name :             声明一个更为详细的项目名称



2.编写主代码

      遵循Maven的规定,项目的主代码应该放在src/main/java/目录下,这样Maven会自动搜索这些主代码。 创建一个java文件,代码如下:
package com.lijie.mvn.helloworld;  

public class HelloWorld{  
     public static void main(String [] args){  
         System.out.println("HelloWorld , Maven");
     }
}


此时的文件目录如下图所示:



HelloWorld类存在于helloworld文件夹中。

3.使用maven进行编译

在项目根目录下运行命令  mvn clean compile   输出如下:




clean命令是清理输出目录target,默认情况下,Maven构建的所有输出都在target目录中,compile命令是编译项目主代码,将主代码编译至target/classes目录。


查看输出内容,可以看到在编译时会download许多的jar文件和相应的pom文件,这是因为,在Maven中,类似clean,compile这样的命令都是由相应的插件来完成的,因此首次执行这些命令时需要到Maven的中央仓库去下载,同时下载其所依赖的jar包,这些下载到的jar文件存放于Maven的本地仓库中,即用户目录的.m2\repository文件夹下


Maven在执行时,如果需要用到所依赖的jar包,首先会到本地仓库去搜寻,如果本地仓库搜索不到,再到中央仓库去下载。所以再次执行上述命令时,不会再下载这些文件。

4.打包和运行
Hello World的POM中没有指定打包类型,默认打包类型是jar。执行命令 mvn clean package
查看输出:


mvn clean package 命令之后jar插件将项目的主代码打包成一个名为helloworld-1.0的jar。




继续执行mvn clean install命令,这个命令是将输出的jar安装到了Maven的本地仓库中,这样可以让其它的Maven项目直接引用这个jar包。

输入以下命令运行HelloWorld项目  java –jar  target\helloworld-1.0.jar
查看输出内容,发现运行失败。这是因为HelloWorld类有一个main方法,默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不会添加到manifest中,为了生成可执行的文件,需要借助maven-shade-plugin插件,配置该插件,修改pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.00"
         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.lijie.mvn</groupId>
    <artifactId>helloworld</artifactId>
    <version>1.0</version>
    <name>Hello World Project</name>  
    <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.lijie.mvn.helloworld.HelloWorld</mainClass>  
                           </transformer>
                       </transformers> 
                    </configuration> 
                 </execution>
              </executions>
           </plugin>
       </plugins>
    </build>

</project>



依次执行如下命令 
  mvn clean install
  java –jar  target\helloworld-1.0.jar 
可以看到输出内容:HelloWorld , Maven

===================================================================

1.在cmd中对应目录下执行archetype 插件命令:
mvn archetype:create -DgroupId=lijie  -DartifactId=mywebsite 
-DarchetypeArtifactId=maven-archetype-webapp    // 表示创建web项目



2.在mvn的项目中 pom.xml 文件所在目录, 运行   mvn eclipse:clean eclipse:eclipse ,会自动将mvn工程转成eclipse工程
分享到:
评论

相关推荐

    maven入门到精通

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

    Maven入门到精通

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

    Apache Maven入门篇(上)

    在“Apache Maven入门篇(上)”中,我们将探讨Maven的基本概念、安装步骤以及如何创建和管理一个简单的Java项目。 1. Maven的核心概念: - **POM(Project Object Model)**:POM是Maven项目的核心,是一个XML文件...

    maven入门.docx

    ### Maven 入门详解 #### 一、Maven 概述与重要性 Maven 是一个流行的项目管理和整合工具,广泛应用于 Java 开发领域。它为开发者提供了完整的构建生命周期框架,帮助开发者简化项目的构建过程,使得项目的管理和...

    HIbernate+Maven入门demo

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

    Maven入门指南.docx

    【Maven入门指南】 Maven是一个广泛应用于Java项目的强大构建工具,它自动化处理软件构建的多个环节,包括源码编译、文档生成、JAR包创建、依赖管理和部署。Maven的核心理念是通过项目对象模型(Project Object ...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装配置 1.19 Oracle,MySql,SQL server分页 1.20 Jboss...

    Maven入门--较复杂的实例

    【标题】"Maven入门--较复杂的实例"指的是在IT领域中学习并实践Apache Maven的基础知识,特别是通过一个相对复杂的项目来理解其工作原理和应用。Maven是一个强大的项目管理和综合工具,它可以帮助Java开发者自动化...

    Maven入门案例

    本篇文章将深入探讨Maven的入门知识,包括Maven的安装、配置、基本命令以及通过案例来理解Maven的工作原理。 首先,让我们从**Maven的安装**开始。在Windows系统中,你可以访问Maven官方网站下载最新版本的Maven,...

    maven入门整合SpringMVC登录+调用天气接口实例

    **maven入门** Maven是Java开发中的一个项目管理和构建工具,它简化了构建过程,通过定义项目的构建配置,管理依赖关系,自动化构建任务。在本项目中,Maven被用来整合SpringMVC和实现接口调用。Maven的POM...

    Maven 入门指南.docx

    ### Maven 入门指南知识点详解 #### 一、Maven 的基本概念 Maven 是一款强大的项目管理和构建工具,它的核心理念是通过标准化项目构建流程,实现自动化构建和依赖管理,进而提高软件项目的可维护性和生产力。Maven...

    HAP框架-Maven入门手册.zip

    结合提供的资源“HAP框架-Maven入门手册.zip”,我们可以深入探讨Maven与HAP框架的基本概念、使用方法以及它们在实际开发中的应用。 1. Maven简介: Maven是由Apache软件基金会开发的项目管理工具,它以XML格式的...

    技术部Maven入门培训.rar

    ** Maven入门培训 ** Maven,作为Java项目管理和构建的工具,是开发人员不可或缺的利器。它通过统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务,极大地提高了开发效率。以下是对Maven的基本概念、...

    maven 入门笔记配套示例代码

    本压缩包包含了"Maven入门笔记"的配套示例代码,主要帮助初学者理解Maven的基本用法和概念。 在"Maven入门笔记"中,你可能会学到以下关键知识点: 1. **Maven架构**:Maven基于项目对象模型(Project Object Model...

    maven 入门demo

    ** Maven 入门指南 ** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过标准化项目构建过程,使得开发人员可以更轻松地管理依赖、构建、测试和部署项目。本教程将引导初学者了解 Maven 的...

    maven入门,java项目管理,值得珍藏

    ### Maven入门教程:Java项目管理的关键工具 #### 一、Maven简介与重要性 Maven 是一个跨平台的项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过提供一种清晰的项目对象模型(POM),...

Global site tag (gtag.js) - Google Analytics