浅谈mac下maven的安装配置与使用

浅谈Mac下Maven的安装配置与使用

简介

Maven 是一款 Java 项目自动化构建工具,可用于管理项目依赖、构建、测试、打包、发布等。本文将介绍在 Mac 下 Maven 的安装、配置和使用方法。

安装

  1. 下载 Maven 安装包

Maven 官方网站提供了 Windows 和 Linux 的安装包,可以从 https://maven.apache.org/download.cgi 下载最新版 maven 安装包(.tar.gz 或 .zip 格式)。

  1. 解压安装包

下载完成后,将压缩包解压到合适的目录下。例如,将 Maven 解压到 /Users/username/Developer 目录下。

shell
tar -zxvf apache-maven-3.x.y.tar.gz -C /Users/username/Developer

  1. 设置环境变量

在命令行终端中,使用以下命令将 Maven 加入系统环境变量中:

shell
export M2_HOME=/Users/username/Developer/apache-maven-3.x.y
export PATH=$PATH:$M2_HOME/bin

自此,便完成了 Maven 的安装。

配置

  1. 修改 settings.xml 文件

Maven 的配置文件 settings.xml 位于 Maven 安装目录的 conf 目录下,可以通过修改此文件来修改本地 Maven 环境的配置。

改变本地镜像源将极大地加速Maven构建过程,这里以阿里云的镜像源为例进行配置:

xml
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun Maven 镜像</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>

  1. 配置本地仓库

在 Maven 安装目录下的 conf/settings.xml 文件中,可以通过设置 <localRepository> 标签来指定 Maven 下载依赖包到本地仓库的位置:

xml
<localRepository>/Users/username/.m2/repository</localRepository>

使用

  1. 创建 Maven 项目

将终端切换至项目所在目录,使用 Maven 的命令行工具 mvn 创建一个新的 Maven 项目:

shell
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DinteractiveMode=false

  1. 编译项目

使用 Maven 的命令行工具 mvn 编译项目:

shell
mvn compile

编译后的文件默认生成到 Maven 项目下的 target 目录。

示例:将 HelloWorld.java 编译成 HelloWorld.class:

```shell
$ tree
├── pom.xml
└── src
└── main
└── java
└── com
└── example
└── App.java

$ cat src/main/java/com/example/HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}

$ javac -classpath ~/.m2/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar src/main/java/com/example/HelloWorld.java

$ tree
├── pom.xml
├── src
│ └── main
│ └── java
│ └── com
│ └── example
│ ├── App.java
│ └── HelloWorld.class
└── target

3 directories, 4 files
```

  1. 运行项目

使用 Maven 的命令行工具 mvn 运行项目:

shell
mvn exec:java -Dexec.mainClass=com.example.App

运行项目时会搜索项目依赖,如果项目依赖未安装到本地仓库,则会自动下载。

示例:运行 HelloWorld.class:

shell
java -classpath ~/.m2/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar:src/main/java com.example.HelloWorld

结论

本文介绍了在 Mac 下 Maven 的安装、配置和使用。Maven 是一个强大且易于使用的构建工具,对于 Java 项目实现自动化构建、测试和发布来说是一款非常优秀的工具。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈mac下maven的安装配置与使用 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • JavaScript实现带播放列表的音乐播放器实例分享

    JavaScript实现带播放列表的音乐播放器实例分享 介绍 本教程将详细讲解如何使用JavaScript实现带播放列表的音乐播放器。具体来说,我们将创建一个音乐播放器,使用户能够播放不同的歌曲,并在一个列表中浏览所有可用的曲目。 HTML模板 为了创建这个音乐播放器,我们将需要一个HTML模板。以下是一个基本的模板,它包含了必要的元素,如音频控件、播放/暂…

    Java 2023年6月15日
    00
  • SpringMVC实现Validation校验过程详解

    以下是关于“SpringMVC实现Validation校验过程详解”的完整攻略,其中包含两个示例。 SpringMVC实现Validation校验过程详解 在SpringMVC中,我们可以使用Validation校验来验证表单数据的合法性。在本文中,我们将讲解如何使用SpringMVC实现Validation校验。 Validation校验实现原理 Spri…

    Java 2023年5月17日
    00
  • Springboot项目快速实现拦截器功能

    针对“Springboot项目快速实现拦截器功能”,我可以提供以下完整攻略: 1. 引入依赖 在pom.xml中添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web…

    Java 2023年5月19日
    00
  • java Date类详解及使用总结

    Java Date类详解及使用总结 什么是Java Date类 在Java中,Date类代表了一个日期或者时间的抽象概念。Date类中包含了当前日期和时间的信息,可以通过它来进行日期和时间的操作。 Date类的构造方法 Date类有下面三个构造方法: public Date() 创建一个表示当前时间的Date对象。 public Date(long date…

    Java 2023年5月20日
    00
  • Java异常类型以及处理实例详解

    Java异常类型以及处理实例详解 什么是Java异常? 在Java中,异常是指程序在运行时发生错误的情况。当程序出现异常时,其会抛出一个Java异常对象,然后我们可以通过捕获(catch)异常对象来在代码中处理这些错误。 Java异常类型 在Java中,异常类型主要分为三种类型:未受检异常、受检异常和错误。 未受检异常(Unchecked Exception…

    Java 2023年5月26日
    00
  • 推荐一个可以提高生产力的在线游戏

    很久没推荐好玩的工具了,今天给家推荐一个非常有意思的游戏:Habitica Habitica除了是个游戏之外,居然还是一个生产力应用! 为什么说Habitica还是个生产力应用呢?因为它还可以帮助我们养成习惯! 通过Habitica,我们可以用它的每日目标和代办事项列表功能来跟踪和管理你的习惯 在完成任务之后,你可以以此来升级你的虚拟角色,同时解锁游戏中更多…

    Java 2023年4月25日
    00
  • ShardingSphere jdbc实现分库分表核心概念详解

    下面是关于“ShardingSphere JDBC实现分库分表核心概念详解”的完整攻略。 前言 ShardingSphere是一款国产的关系型数据库分布式解决方案。它实现了像分库分表、读写分离等与分布式相关的功能,具有易用、可扩展、可靠等特点。ShardingSphere中的JDBC模块提供了一个JDBC驱动,用户可以通过JDBC驱动直接访问分布式数据库,而…

    Java 2023年6月16日
    00
  • java定时任务Timer和TimerTask使用详解

    Java定时任务Timer和TimerTask使用详解 在Java中,我们可以使用Timer和TimerTask来实现定时任务的功能。Timer是一个定时工具,而TimerTask则是具体需要执行的任务。通过结合使用Timer和TimerTask,我们可以在Java应用中实现定时任务的功能。 Timer的基本使用 使用Timer需要两个对象:Timer和Ti…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部