在CentOS 7和Fedora 30/29/28上安装最新的Apache Maven
时间:2020-02-23 14:31:19 来源:igfitidea点击:
Apache Maven是一个软件项目管理/自动化工具,主要用于管理来自中央信息的Java项目构建,报告和文档。本教程将在CentOS 7/Fedora 30/29/28上安装Apache Maven。
更新系统并安装Java
Apache Maven要求主机系统具有Java Development Kit。在CentOS 7/Fedora上安装OpenJDK:
在CentOS 7上安装Java:
sudo yum install lsof java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version
在Fedora上安装Java:
$sudo dnf install java-11-openjdk OR $sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装Java之后,我们可以使用以下命令快速确认版本:
$java -version java version "11.0.1" 2016-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
下载并安装Apache Maven
检查最新版本的Apache Maven并将其保存到变量中:
export VER="3.6.1"
下载上面导出的最新版本的Apache Maven:
curl -O http://www-eu.apache.org/dist/maven/maven-3/${VER}/binaries/apache-maven-${VER}-bin.tar.gz
现在解压缩下载的tar包
tar xvf apache-maven-${VER}-bin.tar.gz
将结果目录移至"/opt"
sudo mv apache-maven-${VER} /opt/maven
设置环境变量以加载Apache Maven
cat <<EOF | sudo tee /etc/profile.d/maven.sh export MAVEN_HOME=/opt/maven export PATH=$PATH:$MAVEN_HOME/bin EOF
源文件
$source /etc/profile.d/maven.sh $echo $MAVEN_HOME /opt/maven $echo $PATH
$PATH应该以/opt/maven/bin结尾。
验证安装
最后,验证Apache Maven是否已正确安装:
$mvn --version Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T12:00:29-07:00) Maven home: /opt/maven Java version: 11.0.2, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en_US, platform encoding: ISO-8859-1 OS name: "linux", version: "4.15.0-46-generic", arch: "amd64", family: "unix"
此命令应打印Maven版本和使用的Java版本。
所有选项在以下位置可用:
$mvn -h
创建Maven项目目录:
mkdir ~/mvn-projects cd ~/mvn-projects
创建第一个项目:
mvn archetype:generate -DgroupId=com.mycompany.app \ -DartifactId=my-app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false
由于这是第一次运行,因此可能需要一段时间才能执行。这是因为Maven正在将最新的工件(插件jar和其他文件)下载到本地存储库中。
成功运行后,我们应该获得类似于以下的输出:
INFO] --------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] --------------------------------------------------------------------------- [INFO] Parameter: basedir, Value: /root/projects [INFO] Parameter: package, Value: com.mycompany.app [INFO] Parameter: groupId, Value: com.mycompany.app [INFO] Parameter: artifactId, Value: my-app [INFO] Parameter: packageName, Value: com.mycompany.app [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: /root/projects/my-app [INFO] ----------------------------------------------------------------------- [INFO] BUILD SUCCESS [INFO] ----------------------------------------------------------------------- [INFO] Total time: 15.301 s [INFO] Finished at: 2016-11-18T02:26:08-05:00 [INFO] -----------------------------------------------------------------------
"生成目标"创建了一个目录,该目录具有与artifactId相同的名称。
$tree my-app/ my-app/ ├── pom.xml └── src ├── main │ └── java │ └── com │ └── mycompany │ └── app │ └── App.java └── test └── java └── com └── mycompany └── app └── AppTest.java 11 directories, 3 files
src/main/java目录包含项目源代码src/test/java目录包含测试源文件pom.xml是项目项目对象模型(POM)。
pom.xml文件是Maven中项目配置的核心。它包含构建项目所需的大多数信息。
建立项目
要构建项目,请运行:
mvn package
命令行将打印出各种操作,并以以下内容结束:
..... [INFO] ----------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ----------------------------------------------------------------------- [INFO] Total time: 3 seconds [INFO] Finished at: Thu Nov 18 10:39:20 EAT 2016 [INFO] Final Memory: 2M/6M [INFO] -----------------------------------------------------------------------