maven开发01-安装与配置、实现maven版helloworld

感谢林炳文Evankakahttp://blog.csdn.net/evankaka/article/details/47904283的教程。根据他的教程自己写了一遍,记录下来。


本文着重傻瓜式速成教程,先上手,后研究。不要问为什么,Follow Me,先来体验一下maven的快感!

一、maven开发01-安装与配置

1、下载maven安装包
https://maven.apache.org/下载apache-maven-3.5.0-bin.zip,解压即可使用。
2、maven环境变量配置
新建环境变量MAVEN_HOME(值为maven的根目录)、
然后在PATH环境变量里加入%MAVEN_HOME%\bin;即可。
3、检验是否配置成功
运行cmd 输入 mvn -version
若如图所示 显示版本信息 则说明安装和配置成功
至此,maven已经安装成功。
我们这里先不去关系maven的命令操作。
4、配置本地仓库。
打开apache-maven-3.5.0\conf下setting.xml文件,localRepository的值设置成你本地仓库的路径。


5、maven配置到eclipse上
j2ee的eclipse已经默认集成了maven插件(如果没有,手工安装:Help–>Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,重启eclipse,可以看到Window→ Preferences→Maven的选项)
然后,Windows–>Prefrences–>Maven–>Installations–>Add。installation home选maven的根目录,提交。
然后,Windows–>Prefrences–>Maven–>User Setting–>Browse。选中maven目录conf下的setting.xml文件。
至此 maven安装配置完成!

二、初步了解maven

      Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目
1.了解maven的目录结构,在maven的构建过程中,构建的程序必须有特定的目录结构,基本的目录如下所示:

2.对于这个目录的建立,熟练的建立这个目录是必备的,但是这样无助于开发的进度,所以maven自带了一个archetype工具帮助我们自动生成项目的骨架。在cmd中切换到工程的目录,执行命令mvn archetype:generate,就是自动生成需要的目录,在生成的过程中会需要输入一些字段,在下面说明的pom.xml的时候再讲。
3.pom.xml<Project Object Model,项目对象模型>文件,这个文件可以理解为整个项目的控制文件,对于这个文件有一下几个属性需要说明。
<modelVersion> :默认是4.0.0,指定了当前POM模型的版本。
<groupId>:定义了项目属于哪一个组,这个组通常与项目所在的组织或者公司关联,如com.microsoft.myapp, com.google.myapp等等。
<artifactId>:定义了当前maven项目在组中的唯一ID,可以定义为项目的名称如:HelloWorld
<version>:指定当前的版本,如1.0-SNAPSHOT,snapshot是快照的意思,说明该项目还在开发中,是不稳定的版本。
而一般通过archetype工具生成的包名就是groupId+artifactId。



三、maven版的helloworld
1,新建一个maven项目
New Project -->Maven-->Maven Project
2,Archetype选择maven-archetype-quickstart
3,输入包名,工程名
4,得到的工程结构如下


5,修改App.java
package com.andy.learning.maven_helloworld;

/**
 * Hello world!
 *
 */
public class App {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
	public void sayHello(){
		System.out.println("say Hello World!");
	}
}
修改AppTest.java
package com.andy.learning.maven_helloworld;

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

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
//        assertTrue( true );
    	App app = new App();
    	app.sayHello();
    }
}
7, 进行单元测试



8,打包输出jar文件,供其他项目使用

输入 clean install 命令


构建成功,console输出:
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven-helloworld ---
[INFO] Building jar: E:\Andy_software\workSpace\maven-helloworld\target\maven-helloworld-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ maven-helloworld ---
[INFO] Installing E:\Andy_software\workSpace\maven-helloworld\target\maven-helloworld-0.0.1-SNAPSHOT.jar to E:\Andy_software\maven\localRepository\com\andy\learning\maven-helloworld\0.0.1-SNAPSHOT\maven-helloworld-0.0.1-SNAPSHOT.jar
[INFO] Installing E:\Andy_software\workSpace\maven-helloworld\pom.xml to E:\Andy_software\maven\localRepository\com\andy\learning\maven-helloworld\0.0.1-SNAPSHOT\maven-helloworld-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.265 s
[INFO] Finished at: 2017-09-06T11:47:22+08:00
[INFO] Final Memory: 16M/219M
[INFO] ------------------------------------------------------------------------
根据输出信息,查看生成的jar包



9,使用jar包
新建一个maven-test项目,并修改App.java如下,避免重名


pom.xml文件 添加maven-helloworld的jar包依赖
<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>com.andy.learning</groupId>
  <artifactId>maven-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>maven-test</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.andy.learning</groupId>
      <artifactId>maven-helloworld</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
    
    
  </dependencies>
</project>
更新maven工程




更新好了,直接选中AppHello的main,然后右键运行,输出了结果






时maven-helloworld更改了内容,比如它的App.java添加一个方法sayHello2();打包发布jar后;

同理,maven-test工程直接maven->update project就会自动引入新的jar包,就可以调用新添加的方法。



猜你喜欢

转载自blog.csdn.net/andy_wcl/article/details/77800729