在断网情况下使用idea和maven

一、需求:

公司开发环境不能连外网,而项目需要使用scala、maven的shade插件、maven打包的provided功能,如果不使用maven的情况下实现shade和provided功能,很麻烦。

1. 在32位系统安装idea的社区版(依赖32位jdk),并手动安装scala插件

2. 离线模式下使用maven:设置本地仓库(依赖、插件),setting文件中设置离线模式,idea中配置,使plugin和依赖都能正常使用

maven仓库中的jar都是放在包名结构的目录中,所以无法简单的把项目依赖导出来然后复制进去。只能给项目设置1个单独的本地仓库,然后install项目,maven就会把项目的本地仓库创建好,然后再把这个仓库复制到离线环境

二、在32位系统安装idea的社区版,并手动安装scala插件

  1. idea内有个模块叫JBR,11只支持64位,8支持32位,下载8的即可

在这里插入图片描述

  1. 进入网站下载scala的插件(zip格式,无需解压),注意版本的匹配。放到任意位置都可,然后setting/plugins,选择从磁盘安装

三、离线模式下使用maven

须知:

  1. maven的插件也属于依赖的一种,也通过gav标识,也放在maven仓库中,路径就是gav
    在这里插入图片描述
  2. maven在offline下,如果pom中删除掉1个插件,那么这个插件如果在仓库中没有也会报错
  3. idea的maven设置为offline后,所有的mvn命令都会加上–offline参数

1.生成项目的仓库

maven仓库默认放着所有项目的依赖和插件,一般都很大,仅仅为了一个项目复制整个本地仓库太浪费。
而如果只复制所需项目的,1个项目的直接依赖 + 间接依赖起码100个。而且maven仓库中的依赖都是放在多级目录下的,还要创建对应的目录,不可能手动完成。
➡️➡️➡️
可在idea中为这个项目设置单独的1个本地仓库(pom中没法设仓库)(这个本地仓库的路径可以自动生成)。然后install项目,完成后把这个本地仓库复制到离线环境即可。

2.idea中配置maven

为了避免复制1个maven安装包,直接用idea自带的maven
settings中配置本地仓库
idea中配置setting、本地仓库、离线模式

3.添加依赖,就从外面下好复制到开发环境,然后进入到maven所在目录

mvn install:install-file -Dfile=jar包的位置 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar
就会自动安装到本地仓库
所谓install,就是复制到本地仓库并且设置好gav的目录结构,这样别的关联的依赖就可以找得到了。

此时就可以在离线模式下正常开发了

发布了21 篇原创文章 · 获赞 0 · 访问量 615

猜你喜欢

转载自blog.csdn.net/qq_34224565/article/details/104248339