记一次在idea离线使用maven问题(推荐)

下面是使用IDEA离线使用Maven的完整攻略:

1. 环境准备

首先,将Maven压缩包解压到本地,例如解压到D:\maven-3.6.3目录下,并设置好环境变量MAVEN_HOMEPATH,具体可以参考Maven 安装 | 菜鸟教程 (runoob.com)

然后,进入IDEA的Settings(或者File -> Settings),在Build,Execution,Deployment -> Build Tools -> Maven中配置Maven home directory为我们解压出来的Maven的路径,即D:\maven-3.6.3

2. 离线设置

接着,我们需要在Maven的本地仓库中缓存一些依赖,以便离线使用。我们可以手动添加依赖,也可以通过执行Maven命令的方式来自动添加依赖,下面分别介绍。

2.1 手动添加依赖

假设我们需要使用commons-lang3junit两个依赖,并且我们已经下载了它们的.jar文件,分别为commons-lang3-3.9.jarjunit-4.13.2.jar,那么我们需要将它们手动添加到Maven本地仓库中。做法如下:

  1. 创建一个临时的Maven工程(可以在IDEA中创建或在命令行中使用mvn archetype:generate创建);
  2. 在该工程下的src/main/resources目录下创建一个名为lib的目录,并将下载好的.jar文件复制到该目录下(注意:.jar文件必须符合Maven的命名规则,如commons-lang3-3.9.jar应该改名为commons-lang3-3.9.jar);
  3. 在命令行中进入该工程的根目录,执行以下命令:
mvn install:install-file -Dfile=src/main/resources/lib/commons-lang3-3.9.jar -DgroupId=org.apache.commons -DartifactId=commons-lang3 -Dversion=3.9 -Dpackaging=jar
mvn install:install-file -Dfile=src/main/resources/lib/junit-4.13.2.jar -DgroupId=junit -DartifactId=junit -Dversion=4.13.2 -Dpackaging=jar

执行完以上两个命令后,即可将commons-lang3junit两个依赖添加到Maven的本地仓库中。

2.2 自动添加依赖

除了手动添加依赖外,我们还可以通过执行Maven命令来自动添加依赖。做法如下:

  1. 在IDEA中创建一个Java工程;
  2. 假设我们需要使用junitcommons-lang3两个依赖,我们可以在pom.xml文件中添加以下依赖配置:
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.9</version>
    </dependency>
</dependencies>
  1. 在IDEA的Terminal中执行以下命令:
mvn dependency:go-offline -DexcludeGroupIds=org.apache.maven.plugins -DexcludeArtifactIds=maven-compat

执行完以上命令后,Maven会自动下载junitcommons-lang3两个依赖,并将它们添加到Maven的本地仓库中,以便我们离线使用。

3. 离线操作

接下来,我们就可以在离线的情况下使用Maven了。具体做法如下:

  1. 在IDEA的Maven Projects窗口中找到我们要操作的工程,右键选择Offline mode使其进入离线模式;
  2. 在IDEA的Projects窗口中找到我们要操作的Java文件,右键选择Run filename.main()运行。

需要注意的是,只要我们需要使用的依赖已经在Maven的本地仓库中,就可以在离线的情况下进行编译、测试等操作。

完整攻略到这里就结束了,下面是两个示例:

示例1:手动添加依赖

假设我们已经手动添加了junitcommons-lang3两个依赖,我们可以在IDEA中创建一个名为TestJava的Java类,在该类中使用junitcommons-lang3中的类和方法,示例代码如下:

import org.apache.commons.lang3.StringUtils;
import org.junit.Assert;
import org.junit.Test;

public class TestJava {

    @Test
    public void testStringUtils() {
        String str = "hello";
        Assert.assertEquals(StringUtils.reverse(str), "olleh");
    }
}

注意,在该示例中,我们使用了junit中的@Test注解来标记测试方法,使用org.junit.Assert类来进行断言,使用org.apache.commons.lang3.StringUtils类来进行字符串反转的操作。

示例2:自动添加依赖

假设我们已经在pom.xml文件中添加了junitcommons-lang3两个依赖,我们可以在IDEA中创建一个名为TestJava的Java类,在该类中使用junitcommons-lang3中的类和方法,示例代码如下:

import org.apache.commons.lang3.StringUtils;
import org.junit.Assert;
import org.junit.Test;

public class TestJava {

    @Test
    public void testStringUtils() {
        String str = "hello";
        Assert.assertEquals(StringUtils.reverse(str), "olleh");
    }
}

注意,在该示例中,我们依然使用了junit中的@Test注解来标记测试方法,使用org.junit.Assert类来进行断言,使用org.apache.commons.lang3.StringUtils类来进行字符串反转的操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:记一次在idea离线使用maven问题(推荐) - Python技术站

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

相关文章

  • Java运行期注解的作用是什么?

    Java运行期注解是在运行期间动态地修改代码行为或元数据的方式。在Java语言中,使用注解可以为类、方法、字段等元素添加额外的元数据信息,特别是在框架应用中,注解是必要的成分之一。 Java运行期注解的作用包括但不限于以下几个方面: 1. 解耦 运行期注解是通过将元数据信息附加在程序元素上而实现的,整个注解体系实现了代码与元数据之间的解耦。开发人员在不破坏原…

    Java 2023年5月11日
    00
  • spring+springmvc+mybatis 开发JAVA单体应用

    下面是关于“spring+springmvc+mybatis 开发JAVA单体应用”的完整攻略: 一、前置知识 在开始之前,需要掌握以下技术: Java基础知识; SQL语言基础; Spring框架基础知识; Spring MVC框架的基础知识; MyBatis框架基础。 如果你已经掌握了以上技术,那么你就可以继续阅读该攻略。 二、搭建环境 1. 安装JDK…

    Java 2023年6月1日
    00
  • Apache2.2以上版本与Tomcat整合配置及负载均衡实现

    Apache2.2以上版本与Tomcat整合配置及负载均衡实现 前言 当我们想要将Tomcat应用服务器与Apache Web服务器整合在一起使用时,我们可以使用mod_jk这个Apache模块,它可以实现负载均衡和反向代理等功能。本文介绍了如何通过配置mod_jk实现Apache2.2以上版本与Tomcat的整合以及负载均衡实现。 准备工作 在开始整合之前…

    Java 2023年5月19日
    00
  • SpringBoot整合Quartz方法详解

    下面我给您详细讲解“SpringBoot整合Quartz方法详解”的完整攻略。 一、简介 Quartz是一个任务调度框架,它能够让我们实现定时任务的调度,SpringBoot与Quartz的整合,可以让我们更加方便地实现定时任务的管理和调度。本篇文章将详细介绍SpringBoot如何整合Quartz框架。 二、准备工作 在开始整合之前,我们需要准备以下工作:…

    Java 2023年5月26日
    00
  • Java常用命令汇总

    Java常用命令汇总攻略 Java是一种高级编程语言,由于其稳定性和跨平台性能备受欢迎,因此成为了许多软件的首选语言。针对Java的常用命令,本文旨在为初学者提供帮助以及提高Java编程效率。下面将对Java常用命令进行详细讲解。 Java编译命令 Java编写的代码在开发完成后需要编译成可执行的文件。下面是Java编译命令的格式和用法: javac [op…

    Java 2023年5月19日
    00
  • 滴滴二面之Kafka如何读写副本消息的

    滴滴二面之Kafka如何读写副本消息的攻略 Kafka 是一种分布式消息系统,消息被分为多个分区存储在多个 broker 中。副本是为了在发生故障时提供消息持久性和可靠性所增加的。在 Kafka 中,每个分区都会有多个副本,其中一个作为主副本,其他副本作为从副本,主副本负责进行读写操作,而从副本只需要对主副本的写操作进行复制,从而保证数据的可靠性。 读副本消…

    Java 2023年5月20日
    00
  • JSP动态生成验证码存储在session作用范围内

    JSP动态生成验证码存储在Session作用范围内的攻略可以分为以下几个步骤来进行。 步骤1:生成随机的验证码 在JSP页面中通过Java代码生成随机的验证码,一般可以使用Random类或者Math.random()的方法,并将生成的验证码存储到一个String类型的变量中。 步骤2:将验证码存储在Session作用范围内 在生成验证码的同时,将其存储在Se…

    Java 2023年6月15日
    00
  • SpringMVC 单文件上传与多文件上传实例

    下面就给您详细讲解“SpringMVC 单文件上传与多文件上传实例”的完整攻略。 一、SpringMVC 单文件上传实例 1.1 相关依赖说明 在 pom.xml 文件中增加以下依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>…

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