浅谈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日

相关文章

  • JSP页面上用下横线代替文本框效果的代码

    下横线代替文本框是一种简单的表单样式,可以在JSP页面上实现。下面是实现的步骤: 第一步:创建form表单 在JSP页面中,首先需要创建一个form表单,代码如下所示: <form action="submit.jsp" method="post"> 注意,在form标签中,我们指定了表单的提交方式为POS…

    Java 2023年6月15日
    00
  • 详细总结Java创建文件夹的方法及优缺点

    详细总结Java创建文件夹的方法及优缺点 在Java中,创建文件夹是一个常见的操作,无论是在后端开发还是在桌面应用程序中都很常用。本文将详细总结Java创建文件夹的方法及优缺点,包括三种方法。 方法一:使用File类的mkdir() File类是Java中的一个常用文件操作类,其中的mkdir()方法可以用于创建一个新的文件夹。 File file = ne…

    Java 2023年5月20日
    00
  • Java中进程与线程的区别

    Java中进程与线程的区别 在Java中,进程(Process)和线程(Thread)都是常见的概念。虽然它们的功能类似,但它们之间存在明显的不同。了解它们的区别对我们正确地设计和编写多线程程序非常重要。 进程和线程的定义 进程是操作系统操作的基本单位,它是程序执行时的一个实例。它拥有自己的内存空间、系统资源和进程上下文等。每个进程都有一个或多个线程,线程是…

    Java 2023年5月19日
    00
  • 详解SpringBoot+SpringSecurity+jwt整合及初体验

    详解SpringBoot+SpringSecurity+jwt整合及初体验 本文将详细讲解如何将SpringBoot、SpringSecurity和jwt整合起来实现用户认证与授权功能,包含完整的代码和详细的步骤,最终实现一个简单的用户登录验证功能。 环境准备 JDK 1.8 Maven 3.x IDE: 推荐使用IntelliJ IDEA Postman:…

    Java 2023年5月20日
    00
  • SpringBoot+SpringSecurity 不拦截静态资源的实现

    一、背景 在开发 Web 应用时,我们通常需要使用 SpringBoot 和 SpringSecurity 进行开发,其中 SpringSecurity 用于处理安全相关的逻辑。在使用 SpringSecurity 进行开发时,有时候我们需要对某些 URL 进行访问控制,但是又不希望对一些静态资源进行拦截,否则会影响应用性能。 本篇文章将为大家介绍如何使用 …

    Java 2023年5月20日
    00
  • Struts2学习笔记(3)-DMI动态调用方式

    关于“Struts2学习笔记(3)-DMI动态调用方式”的攻略,以下是详细内容: 什么是DMI动态调用方式? DMI的全称为Dynamic Method Invocation,即动态方法调用。DMI可让Struts2框架在运行时跳过了常规的Action拦截器栈,直接调用目标方法。 在DMI中,Action类中定义的方法就成了可调用的动作,Struts2框架通…

    Java 2023年5月20日
    00
  • 完美实现bootstrap分页查询

    实现 Bootstrap 分页查询的步骤如下: 1. 引入 Bootstrap 在 HTML 文件中引入 Bootstrap 的 CSS 和 JavaScript 文件: <!– 引入 Bootstrap CSS 文件 –> <link rel="stylesheet" href="https://cdn.…

    Java 2023年6月15日
    00
  • Mysql到Elasticsearch高效实时同步Debezium实现

    关于Mysql到Elasticsearch高效实时同步Debezium实现的攻略,我可以提供如下具体步骤: 准备工作 安装Mysql、Elasticsearch、Kibana和Debezium Connector并设置好它们的环境变量,确保能正常运行它们。 开启binlog以便Debezium捕获Mysql的数据变更,具体可以在Mysql中修改配置文件my.…

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