maven Install

本文详细介绍了Maven的安装步骤,包括环境变量配置和验证安装。讲解了Maven本地仓库的位置及如何修改,并通过`mvn help:system`命令演示下载过程。此外,还提到了MAVEN_OPTS环境变量的作用。文章还指导了如何手动创建Maven项目,以及使用Maven构建Java和Web项目的过程,包括编译、清理、测试和打包命令的使用。最后,讨论了Maven创建项目时的命令选项及其意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

install

  • 新建一个M2_HOME新的环境变量,为maven的安装路径
  • 然后将%M2_HOME%\bin 添加到path中完成安装
  • mvn -v 命令检查是否安装成功

maven本地仓库位置

D:/Dev/maven/repo <localRepository>D:/Dev/maven/repo</localRepository>

配置

执行mvn help:system 命令从maven仓库下载一些文件到上面的仓库位置

MAVEN_OPTS环境变量,可以修改JVM参数

-Xms256m -Xmx512m

安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。

修改方式如下:

手动创建本地仓库的存放路径,例如:D:\Dev\maven\repo;
在windows的环境变量中增加了新的用户变量M2_REPO,其对应的值为D:\Dev\maven\repo(Maven仓库的本地存放路径),同时把这个变量增加到path变量中;
修改Maven安装目录下的 conf/文件夹内的setting.xml文件,新增一行:D:\Dev\maven\repo(表示本地仓库的地址为:D:\Java\m2\repository);
将上一步修改好的setting.xml文件复制到D:\Java\m2\repository目录下一份;
修改MyEclipse中Maven的配置信息。
1.打开myeclipse点击windows->preferences->maven->installations下add一个已经安装到D:\Java目录下的maven,如:D:\Dev\maven\apache-maven-3.3.9,并勾选此新加项。并点击下面的browse按钮打开maven的全局配置文件,如:D:\Java\maven-3.0.4\conf\setting.xml。
2.打开myeclipse点击windows->preferences->maven->User setting下修改user setting选项为:D:\Java\m2\repository\settings.xml,并点击update settings。并点击下面的reindex按钮更新索引。
3.点击配置窗口的apply按钮,突出配置窗口。

最后打开CMD,执行mvn help:system会发现Maven从远程库下载的jar包都会放到新修改后的路径D:\Dev\maven\repo中了。

本地仓库环境设置

手动创建一个Maven项目

项目目录约定

  • MavenProjectRoot(项目根目录)
    • src
      • main
        • java -存放项目源码文件(.java文件)
        • resources -存放项目资源文件,如spring, hibernate配置文件
      • test
        • java -存放所有测试.java文件,如Junit测试类
        • resources -存放项目资源文件,如spring, hibernate配置文件
    • target 项目编译输出位置
    • pom.xml 项目是否是maven项目的标识

第一步:手动创建项目根目录Maven01,并在Maven01目录下新建pom.xml文件,文件内容如下:

第二步:项目根目录下面新建src目录,src目录下新建main目录,main目录下面新建java目录,在java目录下面新建org目录,org目录下新建vincent目录,vincent目录下新建maven目录,maven目录下新建java代码源文件。
第三步:新建一个HelloWorld.java代码源文件,编写代码:

package  org.vincent.maven;
public class HelloWorld{

public static void main(String[] args) {
    System.out.println("HelloWorld Maven");
}
 public String sayHello(String name){
    return "Hello "+name+"!";
}
}

下面学习几个常用的mvn命令:compile, clean, package, test ,
第四步:cmd进入项目根目录,mvn compile编译maven项目;第一次非常久,会从maven远程仓库下载必要的jar文件,同时将编译好的class文件放置下target目录下
第五步:执行 mvn clean命令后,target文件就会删除,清除编译后生成的文件
第六步:单元测试在src目录下新建test目录,test目录下新建java目录,java目录下面新建org目录,org目录下新建vincent目录,vincent目录下新建maven目录,maven目录下新建java代码单元测试文件。

package  org.vincent.maven;
//导入junit的包
import org.junit.Test;
import static junit.framework.Assert.*;
public class XXTest {
    @Test
    public void testHello(){
        HelloWorld hello = new HelloWorld();
        String results = hello.sayHello("gacl");
        assertEquals("Hello gacl!",results);        
    }
}

然后执行mvn test 命令,执行测试用例

第七步:打包,生成jar文件。mvn package命令,然后在target目录下生成一个jar文件,文件名字以<artifactId>- <version>. <extension>形式。

第八步:安装 mvn install 命令,就是将上面生成的jar文件复制到本地的maven仓库中,然后其他的项目可以使用这个jar包。 【清理】→【编译】→【测试】→【打包】

组合使用Maven的命令
maven的编译,清理,测试,打包,部署命令是可以几个命令同时组合起来使用的,常用的命令组合如下:

  1、先清理再编译:”mvn clean compile”
2、还有的就是”mvn clean test”,”mvn clean package”,”mvn clean install”,这些组合命令都比较常用

在其他项目引用上面生成的jar包

pom.xml文件的节点元素说明:

    <project>       pom文件的顶级节点

    <modelVersion>     object model版本,对Maven2和Maven3来说,只能是4.0.0 ;很少改变

    <groupId>       项目创建组织的标识符(组织代码),一般是域名的倒写

    <artifactId>      定义了项目在所属组织下的唯一标识符,一个组织下可以有多个项目;项目名字

    <version>       当前项目的版本,SNAPSHOT,表示是快照版本,在开发中

    <packaging>     打包的方式,有jar、war、ear等

    <name>        项目的名称

    <url>         项目的地址

    <properties>    属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <dependencies>   构建项目依赖的jar

  其中由groupId、artifactId和version唯一的确定了一个项目坐标

通过maven构建工具创建一个java项目,mvn archetype:generate构建java项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

groupId=com.mycompany.app 指定组织代码
artifactId=myapp 项目名

创建好了cmd进入项目根目录下:之后mvn clean compile清理,编译过程,mvn clean test 清理 ,测试;测试成功,在myapp\target目录下会有一个test-classes目录,存放的就是测试代码的class文件;然后在可以打包mvn clean package 然后在target目录下生成了jar包文件。在项目根目录下面:运行App类的代码 java -cp target\myapp-1.0-SNAPSHOT.jar com.mycompany.app.App
也可以用mvn clean install命令将程序打包复制到本地maven仓库中。下一个maven项目就可以引用了。

使用Maven创建打包发布javaweb项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-WebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

  • -DarchetypeArtifactId=maven-archetype-webapp指定是javaweb项目
    创建好的JavaWeb项目中目前只有src/main/resources目录,因此还需要手动添加src/main/java、src/test/java、src/test/resources
    然后通过mvn package命令构建javaweb项目,在my-webApp目录下面多了一个target目录;里面存放了打包成的my-WebApp.war文件,把这个文件放置在tomcat安装目录下的webapps目录下面就可以访问http://localhost/my-WebApp/

三、Maven创建项目的命令说明

  mvn archetype:create或者mvn archetype:generate  固定写法

  • -DgroupId                       组织标识(包名)
  • -DartifactId                      项目名称
  • -DarchetypeArtifactId     指定为maven-archetype-quickstart,创建一个Java Project;maven-archetype-webapp,创建一个Web Project
  • -DinteractiveMode          是否使用交互模式

archetype是mvn内置的一个插件,maven-archetype-quickstart任务可以创建一个java项目原型,DgroupId是软件包的名称,DartifactId是项目名,DarchetypeArtifactId是可用的mvn项目原型,目前可以使用的原型有:

  • maven-archetype-archetype
  • maven-archetype-j2ee-simple
  • maven-archetype-mojo
  • maven-archetype-portlet
  • maven-archetype-profiles (currently under development)
  • maven-archetype-quickstart
  • maven-archetype-simple (currently under development)
  • maven-archetype-site
  • maven-archetype-site-simple
  • maven-archetype-webapp

每一个原型都会建相应的目录结构和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp原型。maven-archetype-quickstart原型用来创建一个Java Project,而maven-archetype-webapp原型则是用来创建一个JavaWeb Project。
Maven的确是一个很好的项目构建工具。掌握好Maven对于项目开发是非常有帮助的。

Maven官方安装文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值