linux maven 安装与配置

发布时间:2019-07-12 06:00:01发布者:Mr.Zhang阅读(83)

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。
1.软件下载
http://maven.apache.org/download.cgi
选择红颜色项

选择maven-3 ---> 3.5.4 --->binaries-->apache-maven-3.5.4-bin.tar.gz

2.安装
2.1[root@h201 ~]# tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
2.2
[root@h201 ~]# vi /etc/profile
添加
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
PATH后面 :$MAVEN_HOME/bin
[root@h201 ~]# reboot
2.3 测试
[root@h201 ~]# mvn -v

3.创建项目
3.1
mvn archetype:generate -DgroupId=com.sq -DartifactId=sq -DpackageName=sq
###版本2为create,版本3为generate 创建
注意:
第一次安装时错误:
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom
原因:
我使用的是虚拟机,没有连接外网,需要有外网换环境,自动下载相应包。

3.2 pom.xml
pom.xml文件的配置是整个Maven的核心重点,该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等。
[root@h201 ~]# cd /root/sq
[root@h201 sq]# cat pom.xml
<modelVersion> 模型版本
<groupId> 组织的唯一标志
<artifactId> 本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的
<version> 本项目目前所处的版本号
<dependencies> 定义本项目的依赖关系
一般情况下,maven是通过groupId、artifactId、version这三个元素值(俗称坐标)来检索该构件, 然后引入你的工程。如果别人想引用你现在开发的这个项目(前提是已开发完毕并发布到了远程仓库),就需要在他的pom文件中新建一个dependency节点,将本项目的groupId、artifactId、version写入, maven就会把你上传的jar包下载到他的本地

3.3 本地库
本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。
Maven缺省的本地仓库路径为${user.home}/.m2/repository
[root@h201 ~]# ls -la .m2/repository/

3.4 测试(默认的App.java 脚本)
[root@h201 ~]# cd sq/src/main/java/sq/
[root@h201 sq]# /usr/jdk1.8.0_144/bin/javac App.java
[root@h201 sq]# cd ..
[root@h201 java]# /usr/jdk1.8.0_144/bin/java sq/App
Hello World!





本文转自博客园,原文地址:https://www.cnblogs.com/xiguage119/p/11173652.html