记一次在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对Excel表格的上传和下载处理方法

    Java可以使用Apache POI库来实现Excel表格的上传和下载处理。具体的处理方法可以分为三个步骤:导入POI库,读取Excel文件,写入Excel文件。下面我们就详细介绍这三个步骤。 1. 导入POI库 首先需要将POI库导入到Java项目中,可以通过Maven等方式引入POI库。在Maven中,引入POI库的方法如下: <!–Apache…

    Java 2023年5月19日
    00
  • Spring Boot2+JPA之悲观锁和乐观锁实战教程

    下面我就为您讲解Spring Boot2 + JPA悲观锁和乐观锁实战教程的完整攻略。 1. 悲观锁实战 1.1 悲观锁的概念 悲观锁是指,当在执行某一操作时,认为别的并发操作会对其产生影响,因此在执行前进行加锁,使得其他并发操作无法操作,直到该操作完成释放锁。 1.2 悲观锁的实现 在JPA中,实现悲观锁可以通过 @Lock 注解来实现。具体实现方法如下:…

    Java 2023年5月20日
    00
  • Java基于ShardingSphere实现分库分表的实例详解

    Java基于ShardingSphere实现分库分表的实例详解 ShardingSphere是一款开源的分布式数据库中间件,支持对MySQL、Oracle、SQLServer等关系型数据库进行分库分表。本文将详细讲解在Java项目中如何基于ShardingSphere实现分库分表的方法。 步骤一:引入依赖 在Java项目的pom.xml文件中引入Shardi…

    Java 2023年5月20日
    00
  • Java–SSH,SSM和Spring Boot框架区别及优缺点说明

    Java中的SSH、SSM和Spring Boot框架都是常用的Web开发框架,它们各自有着不同的优缺点和适用场景。以下是Java中SSH、SSM和Spring Boot框架的区别及优缺点说明的完整攻略: SSH框架 SSH框架是指Struts2 + Spring + Hibernate框架的组合。它是Java Web开发中最常用的框架之一,具有以下优点: …

    Java 2023年5月15日
    00
  • JavaScript6 let 新语法优势介绍

    JavaScript6 let 新语法优势介绍 ES6 新增了 let 声明变量的关键字,相较于传统的 var 声明变量方式,let 声明变量的方法具有以下优势。 1. 作用域更加清晰 JavaScript 变量的作用域与 var 关键字有关,var 声明变量会将变量提升至函数或全局作用域的顶端,因此在调用变量时可能会出现意料之外的问题,例如变量的作用域范围…

    Java 2023年6月15日
    00
  • Java执行JS脚本工具

    当需要Java程序执行JavaScript脚本时,可以使用Java中的ScriptEngine来实现。 在Java中添加依赖: 首先需要向pom.xml文件中添加JavaScript的依赖。以下是Maven依赖项: <dependency> <groupId>javax.script</groupId> <artif…

    Java 2023年5月26日
    00
  • JSP实现用户登录、注册和退出功能

    下面是详细讲解“JSP实现用户登录、注册和退出功能”的完整攻略。 1. 前置条件 了解Java web开发相关知识 掌握Tomcat服务器的使用方式 下载并安装MySQL数据库 掌握JSP基本语法 2. 构建JSP Web项目 使用Eclipse等常用IDE创建一个JSP Web项目,配置好Tomcat服务器及数据库连接。 3. 数据库设计 用户信息在本案例…

    Java 2023年6月15日
    00
  • Spring Boot 接口加解密,新姿势来了!

    1. 介绍 在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用 如果我们想保证数据传输的安全,对接口出参加密,入参解密。 但是不想写重复代码,我们可以提供一个通用starter,提供通用加密解密功能 2. 前置知识 2.1 hutool-crypto加密解密工具 hutool-crypto提供了很多加密解密工具,包括对称加密,非…

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