Maven的安装与初次使用记录

版权声明:本文为博主原创文章,未经博主允许也可转载,但要注明出处哦。 https://blog.csdn.net/hx765287443/article/details/80341517
Maven下载:
1.链接: https://pan.baidu.com/s/13w3ikZdKi_QaZy3h6i2lNQ
2.下载完找个地方解压,我选择的是D:\Program Files下解压的
3.然后配置环境变量
4.右键计算机----高级系统设置----高级----环境变量
5.点击“系统变量”下的新建,输入:变量名 MAVEN_HOME; 变量值D:\Program Files\apache-maven-3.5.3
6.在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MAVEN_HOME%\bin”,至此环境变量设置完毕。
7.检查一下是否已经完成安装,打开dos窗口,输入mvn –v,如果出现以下信息则表示maven已经安装成功:

一、用maven创建Java项目
先找个放项目的目录,我选的是D:\eclipse\workspace
然后运行命令:D:\eclipse\workspace>mvn archetype:create -DgroupId=com.hx -DartifactId=study2 报错

报错信息:
[ERROR] Could not find goal 'create' in plugin org.apache.maven.plugins:maven-ar
chetype-plugin:3.0.1 among available goals crawl, create-from-project, generate,
 help, integration-test, jar, update-local-catalog -> [Help 1]

原因:版本命令冲突,即在maven3.0.5以上版本舍弃了create,使用generate生成项目。我用的是3.5.3所以报错了

解决办法:修改start命令为generate
再次运行命令:D:\eclipse\workspace>mvn archetype:generate -DgroupId=com.hx -DartifactId=study -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
其中DgroupId指定groupId,DartifactId指定artifactId,DarchetypeArtifactId指定ArchetypeId,DinteractiveMode表示是否使用交互模式

groupId 这是项目组的编号,这在组织或项目中通常是独一无二的。例如,一家银行集团com.company.bank拥有所有银行相关项目。
artifactId 这是项目的ID。这通常是项目的名称。 例如,consumer-banking。 除了groupId之外,artifactId还定义了artifact在存储库中的位置。
Archetype是什么?
简单的说,Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助

作者给用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法。


常用Archetype
1,maven-archetype-quickstart
默认的Archetype,基本内容包括:
一个包含junit依赖声明的pom.xml
src/main/java主代码目录及一个名为App的类
src/test/java测试代码目录及一个名为AppTest的测试用例
2,maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
一个packaging为war且带有junit依赖声明的pom.xml
src/main/webapp/目录
src/main/webapp/index.jsp文件
src/main/webapp/WEB-INF/web.xml文件

二、生成eclipse工程文件
先进入项目文件,本案例是study
执行命令D:\eclipse\workspace\study>mvn eclipse:eclipse

三、导入工程
刚才已经生成了eclipse的工程文件,现在导入之。菜单File-import,搜索maven,选择Existing Maven Projects,点Next,选择工程文件study,点finish。

四、更新POM
默认的 pom.xml 太简单了,很多时候,你需要添加编译器插件来告诉 Maven 使用哪个JDK 版本是用来编译项目。(默认JDK1.4,这的确太旧了点)

      	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-compiler-plugin</artifactId>
		<version>2.3.2</version>
		<configuration>
			<source>1.8</source>
			<target>1.8</target>
		</configuration>
	</plugin>
从更新JUnit 3.8.1到最新的 4.11。
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.11</version>
	<scope>test</scope>
</dependency>
Maven 坐标
上面的XML代码片段被称为“Maven坐标”,如果你需要 JUnit 的 jar,你需要找出其相应的 Maven 坐标。它适用于所有其他的依赖,如Spring,Hibernate,Apache 普通的等,只要到Maven中心储存库,并找出哪些是依赖正确的 Maven 坐标。
pom.xml – 更新版本
<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.mkyong</groupId>
	<artifactId>NumberGenerator</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>NumberGenerator</name>
	<url>http://maven.apache.org</url>
	<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-compiler-plugin</artifactId>
			<version>2.3.2</version>
			<configuration>
				<source>1.6</source>
				<target>1.6</target>
			</configuration>
		</plugin>
	  </plugins>
	</build>

</project>
在终端,再次发出同样的命令 mvn eclipse:eclipse ,Maven将从Maven中心储存库下载插件项目依赖关系(JUnit),它会自动保存到你的本地仓库。
在eclipse可能会报一个错误,需要右键项目,选择Maven->Update Project...,然后点ok就好了。

五、更新业务逻辑
App.java
package com.hx;

import java.util.UUID;

/**
 * Hello world!
 *
 */
public class App 
{
	public static void main( String[] args )
    {
        App obj = new App();
        System.out.println("Unique ID : " + obj.generateUniqueKey());
    }
    
    public String generateUniqueKey(){
    	
    	String id = UUID.randomUUID().toString();
    	return id;
    	
    }
}

直接eclipse里运行就可以

六、Maven 打包

现在,我们将使用Maven这个项目,并输出编译成一个 “jar” 的文件。 请参考 pom.xml 文件,包元素定义应该包应该输出什么。
pom.xml  不需要修改
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.yiibai</groupId>
<artifactId>NumberGenerator</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
在终端输入
D:\eclipse\workspace\study>mvn package

它编译,运行单元测试并打包项目成一个 jar 文件,并把它放在 study/target 文件夹 study-1.0-SNAPSHOT.jar。


阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页