一、 Maven有什么作用?
1、让maven仓库自动帮你下载jar包
maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包。
下面是示范配置文件pom.xmlmaven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。
2、寻找依赖,帮你下载依赖
寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有<dependency>配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。
二、Maven的安装与配置
1、下载 Maven
下载地址: http://maven.apache.org/download.cgi
2、安装Maven
- 安装Maven的前要安装JDK。
- 将安装文件解压到你指定的目录中。这里的Maven安装目录是E:\apache-maven-3.5.0。
3、设置环境变量,将Maven安装配置到操作系统环境中
1)打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,
2)在系统变量中新建一个变量,变量名为 M2_HOME,变量值为Maven的安装目录E:\apache-maven-3.5.0。
3)点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上 %M2_HOME%\bin;
4)注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成。
4、测试安装成功
打开一个新的cmd窗口,运行 mvn -v 命令检查Maven的安装情况5、修改maven配置使用阿里提供的maven源
打开maven安装路径下的conf/settings.xml 文件三、eclipse 配置maven
四、创建maven 工程
选择菜单项File -> New -> Other,在弹出的对话框中选择Maven下的Maven Project四、编写pom.xml
Maven 项目的核心是 pom.xml。 POM( Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
这段代码中最重要的是 groupId, artifactId 和 version 三行。这三个元素定义了一个项目基本的坐标,在 Maven的世界,任何的 jar、 pom 或者 war 都是以基于这些基本的坐标进行区分的。
groupId :
定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 googlecode 上建立了一个名为 myapp 的项目,那么 groupId 就应该是 com.googlecode.myapp,如果你的公司是 mycom,有一个项目为 myapp,那么 groupId 就应该是 com.mycom.myapp。本书中所有的代码都基于 groupId com.juvenxu.mvnbook。
artifactId:
定义了当前 Maven 项目在组中唯一的 ID,我们为这个 Hello World 项目定义 artifactId 为 hello-world,本书其他章节代码会被分配其他的 artifactId。而在前面的 groupId 为 com.googlecode.myapp 的例子中,你可能会为不同的子项目(模块)分配 artifactId,如: myapp-util、 myapp-domain、 myapp-web 等等。
version :
指定了 Hello World 项目当前的版本——1.0-SNAPSHOT。 SNAPSHOT 意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展, version 会不断更新,如升级为 1.0、 1.1-SNAPSHOT、1.1、 2.0 等等。
六、用maven 生成可执行 jar
在pom.xml中添加下面与<dependencies/>同级别的标签。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.hainiuxy_linux.HelloWorld</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
其中:
<mainClass>com.hainiuxy_linux.HelloWorld</mainClass> 指的是 jar 文件中的启动类。
设置classpath 路径
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
右键maven 工程 → Run As → Maven install如果再次打包时,需要先执行 Run As → Maven clean,再执行 Run As → Maven install。