下面是使用IDEA离线使用Maven的完整攻略:
1. 环境准备
首先,将Maven压缩包解压到本地,例如解压到D:\maven-3.6.3
目录下,并设置好环境变量MAVEN_HOME
和PATH
,具体可以参考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-lang3
和junit
两个依赖,并且我们已经下载了它们的.jar
文件,分别为commons-lang3-3.9.jar
和junit-4.13.2.jar
,那么我们需要将它们手动添加到Maven本地仓库中。做法如下:
- 创建一个临时的Maven工程(可以在IDEA中创建或在命令行中使用
mvn archetype:generate
创建); - 在该工程下的
src/main/resources
目录下创建一个名为lib
的目录,并将下载好的.jar
文件复制到该目录下(注意:.jar
文件必须符合Maven的命名规则,如commons-lang3-3.9.jar
应该改名为commons-lang3-3.9.jar
); - 在命令行中进入该工程的根目录,执行以下命令:
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-lang3
和junit
两个依赖添加到Maven的本地仓库中。
2.2 自动添加依赖
除了手动添加依赖外,我们还可以通过执行Maven命令来自动添加依赖。做法如下:
- 在IDEA中创建一个Java工程;
- 假设我们需要使用
junit
和commons-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>
- 在IDEA的Terminal中执行以下命令:
mvn dependency:go-offline -DexcludeGroupIds=org.apache.maven.plugins -DexcludeArtifactIds=maven-compat
执行完以上命令后,Maven会自动下载junit
和commons-lang3
两个依赖,并将它们添加到Maven的本地仓库中,以便我们离线使用。
3. 离线操作
接下来,我们就可以在离线的情况下使用Maven了。具体做法如下:
- 在IDEA的
Maven Projects
窗口中找到我们要操作的工程,右键选择Offline mode
使其进入离线模式; - 在IDEA的
Projects
窗口中找到我们要操作的Java文件,右键选择Run filename.main()
运行。
需要注意的是,只要我们需要使用的依赖已经在Maven的本地仓库中,就可以在离线的情况下进行编译、测试等操作。
完整攻略到这里就结束了,下面是两个示例:
示例1:手动添加依赖
假设我们已经手动添加了junit
和commons-lang3
两个依赖,我们可以在IDEA中创建一个名为TestJava
的Java类,在该类中使用junit
和commons-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
文件中添加了junit
和commons-lang3
两个依赖,我们可以在IDEA中创建一个名为TestJava
的Java类,在该类中使用junit
和commons-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技术站