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

来源:互联网 发布:陈震淘宝店叫什么 编辑:程序博客网 时间:2024/05/20 04:28

感谢林炳文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包,就可以调用新添加的方法。



原创粉丝点击