idea离线模式使用备忘录

行内离线开发java maven项目,由于不提供maven中心仓库及连接外网功能,因此需要特殊处理,保证行内开发编译运行正常进行

idea提供在线,离线2种模式构建maven依赖库

在线: 从maven中心仓库在线下载到本地仓库

离线:只从本地仓库构建maven依赖,如果本地仓库缺少,则 maven项目依赖的jar包会报红

行内离线使用步骤

1.仓库及settings.xml文件准备

行外将项目,编译构建通过后,找到仓库地址 local repository(ctrl+alt+s快捷键),然后将仓库压缩后,传到行内

将上图中的settings.xml文件,也发送到行内;

  1. 行内idea构建maven依赖

settings.xml配置文件添加如下2行,保证maven使用离线模式,并指定离线的本地仓库

XML 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;&gt;
    <!-- 如下2行配置新增 -->
    <offline>true</offline>
    <localRepository>D:\仓库绝对路径\repository</localRepository>
</settings>

新建一个windows的 bat文件,代码如下, 然后双击运行,将 仓库中的用于触发在线更新的文件都删除掉,保证离线正常构建

bash 复制代码
set REPOSITORY_PATH=D:\仓库绝对路径\repository
rem 检索中...
for /f " delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\\*_remote.repositories*"') do (
        del /s /q %%i
)
for /f " delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\\*sha1*"') do (
        del /s /q %%i
)
for /f " delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\\*lastUpdated*"') do (
        del /s /q %%i
)
rem 检索结束,可以退出了
pause

打开项目后,ctrl+alt+s 按如图所示配置, 注意:work offline 必须打钩,剩下maven地址,仓库,settings.xml使用 从行外同步的地址即可,如下图

JDK选择项目对应的版本,然后点击 apply,如下图

ctrl+shift+alt+s 快捷键打开项目设置, sdk 选择项目的jdk版本,如下图

平台设置的SDKS, 也选择对应的jdk版本,如下图,点击apply

如上步骤后,基本保证正常离线构建maven,保证编译,运行通过

相关推荐
M78佐菲4 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫5 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
马可家的菠萝10 小时前
你收藏的资料,有多少真的被你第二次打开过?
笔记·知识管理·效率提升·个人知识库
小刘在重生~11 小时前
Java Lock 显式锁案例|ReentrantLock 解决多线程安全问题(超详细实战)
java·笔记·面试
职豚求职小程序11 小时前
中国人寿27秋招笔试[特殊字符]北森机考|备考攻略
笔记
江湖人称菠萝包11 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
乐橙开放平台11 小时前
从「多套客户端」到一套开放能力:乐橙视频监控能力复盘
笔记·物联网·自动化·音视频·智能家居
山岚的运维笔记12 小时前
mysql 专业笔记 -- 第 36 章:MySQL 管理
运维·数据库·笔记·后端·mysql·oracle·dba
江湖人称菠萝包13 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter10-Data Visualization
笔记·qt·qt5
老当益壮梁奶奶14 小时前
ARM汇编学习笔记(五):从按键轮询到 GIC 中断控制器(ARM Cortex-A7 )
arm开发·笔记·单片机·嵌入式硬件