Maven —— 一、准备工作(下载、安装、配置、基础使用)

准备工作:

一、下载

官网:http://maven.apache.org/

Maven URLS:

Home Page:https://maven.apache.org/
Downloads:https://maven.apache.org/download.html
Release Notes:https://maven.apache.org/docs/history.html
Mailing Lists:https://maven.apache.org/mail-lists.html
Source Code:https://git-wip-us.apache.org/repos/asf/maven.git
Issue Tracking:https://issues.apache.org/jira/browse/MNG
Wiki: https://cwiki.apache.org/confluence/display/MAVEN/
Available Plugins:https://maven.apache.org/plugins/index.html


二、安装与基础配置

安装过程可分为设置环境变量、eclipse中设置maven两步,具体如下。

1、设置环境变量:


下载的maven解压后只是apache-maven-3.5.0目录,repository-maven3.5.0是自己新建的空文件夹,作为本地仓库用。

新加系统变量:MAVEN_HOME=D:\Program Files (x86)\Maven\apache-maven-3.5.0

在PATH系统变量追加:.;%MAVEN_HOME%\bin;

cmd测试成功:



2、Eclipse中设置Maven

低版本的eclipse可能没有集成Maven 插件,所以Windows——>Preferences可能根本找不到Maven 选项,在此分享一个4.5版本的eclipse,感觉非常不错:

链接:http://pan.baidu.com/s/1mh78tWO 密码:zz11


(1)、选择Windows——>Preferences——>Maven——Installations——>Add,选择maven 的安装目录。添加后选择自己刚加的Maven 。注意,点击Finish 之前不忘点击右下角的Apply

(2)、设置本地仓库。

默认下,maven 的本地仓库为系统盘下的:C:\Users\Administrator\.m2\repository。在这里,为了设置为自定义的位置(图1中的repository-maven3.5.0文件夹),先修改安装目录中config 子目录下的settings.xml文件:


修改settings.xml 中的<localRepository>元素值:

<localRepository>D:\Program Files (x86)\Maven\repository-maven3.5.0</localRepository> 

之后,在eclipse 中设置Maven 的User Settings:Browse——>Update Settings——>Apply——>Finish.



至此,maven安装与基础配置就完成了,虽然本地仓库中暂时没有任何文件,但再新建maven工程后,会自动下载一些插件与依赖到本地仓库。



三、Eclipse 新建Maven 工程

1、创建步骤:

new——>Project——>Maven——>Maven Project——>User default workspace location——>Next——>Next——>填写groupId 、artifactId、version(会以groupId.artifactId作为默认)——>Finish.


说明:groupId 为项目组,命名支持包名的形式,如:com.testMaven,此形式在文件系统中的表现和包的表现是一样的,都生成包含的目录结构;artifactId 为当前java项目(非此maven项目)的实际名称,version为此java项目的版本。后面其他项目对该项目的引用都是这三个参数决定的。

网友博客:maven jar 与war 区别


2、查看工程目录:


注意到默认的JRE 为1.5 版本!


3、了解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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>TestMaven</groupId>
  <artifactId>FirstRunning</artifactId>
  <version>0.0.1</version>
  <packaging>jar</packaging>

  <name>FirstTimeRunning</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
  	<finalName>firstTimeRunningName</finalName>
  	<plugins>
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId> 
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin> 
  	</plugins>
  </build>
</project>
上面除了<build>元素是自己后面加上去的,其他的都是默认生成的。
此处了解2点:

<packaging>元素值:jar|war|pom。jar:此项目进行maven install 时会打成.jar包;war:会打成.war包,区别是它可包含web相关的文件,如html文件,js文件等;pom:此项目包含多个子模块项目。

Maven 3.3以上对应的jdk 必须1.7及以上,所以就算不配置<build>元素增加maven-compiler-plugin插件,此项目也无法运行(也不能通过Build path 改变JRE 的方式解决,因为无法改变)。


4、发布此项目到本地仓库

发布步骤:debug|run——>maven install

之后会发现maven从远程仓库下载了许多文件,完成后查看本次仓库,发现项目打包,仓库下多了许多文件,且包含刚maven install 的项目组TestMaven。



5、可能发生的错误:No compiler is privided...

错误信息:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

原因:

没有配置build增加maven编译插件(maven-compiler-plugin)依赖。

解决:

增加如上的build基础配置,其中source与target的值为指定使用的编译器版本,即jdk版本。之后工程目录上右键——>Maven——>Update Project.重新maven install 。


6、运行项目

若要运行项目,而不是发布进本地仓库,则和运行普通java项目没区别:项目根目录右键——>Debug|Run as——>Java Application.


7、测试项目

对Maven 项目而言,第6步的运行项目没什么意义,因为运行项目必然有主函数,而Maven项目一般只是某个大型项目的一个子模块,只是一些类或接口,所以并不能直接运行。但要测试这些类或接口的功能是否正确时,我们应该怎么做呢?

刚接触Maven,学习了两种基础方法:

(1)、通过Junit 测试;

(2)、通过Maven test 测试。

(详细查看:http://blog.csdn.net/qq_19865749/article/details/77609494

首先,看看自动生成的被测试的java文件(src/main/java下的App.java)与自动生成的用于测试的测试类(src/test/java下的AppTest.java)文件。

App.java:

为了测试,自己新加了一个plus函数

package mypakage.firstrunning;
/**
 * Hello world!
 */
public class App 
{
    
	public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
    
    public int plus(int n1,int n2){
    	
    	return n1+n2;
    }
}
AppTest.java

在里面新加了两条打印语句,真正提供给我们测试的只是testApp方法。

package mypakage.firstrunning;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    public AppTest( String testName )
    {
        super( testName );
    }

    public static Test suite()
    {
    	System.out.println("测试类suite方法");
        return new TestSuite( AppTest.class );
    }

    public void testApp()
    {
    	App app = new App();
    	System.out.println("新建被测试对象完成");
        assertTrue( app.plus(1, 2)==3 );
    }
}
注:可见是通过断言语句来判断App 的类功能是否正确。

(1)、通过Junit 测试:

步骤:项目根目录右键——>Debug As ——Junit Test
结果:



(2)、通过Maven test 测试:

步骤:项目根目录右键——>Debug As——>Maven test

结果:



比较两种方式发现,Junit 测试结果清晰明了,Maven test 测试则是每次都重新构建了一次,且结果不直观。


最后,改变pom.xml等与工程的maven配置相关的文件,一定要执行项目右键——>Maven——>Update Project!


另外,时刻提醒自己尽可能多看官网的资料,比百度来的更加有意义!


后面章节将加深对Maven 的了解。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值