场景

某天我在本地修改了某个子项目的代码,并进行了打包:mvn clean install -DskipTests,接着我运行父项目却发现自己刚刚的改动并没有生效,或者说,我刚刚打包好的子项目变回了打包前的代码。

通过cmd的输出我发现在运行父项目的时候,自动下载更新了远程依赖库的子项目,因此将我本地打包修改好的子项目依赖给更新成了远程库的,这就是为什么我明明打包了本地修改好的子项目代码却没有在父项目生效的原因。

解决方法

在maven的配置文件settings.xml里有个offline节点,可以通过该节点来控制是否在编译项目时自动下载远程依赖库的最新版本。注意,如果你同时有多个配置文件,必须要修改~/.m2下的settings.xml才有效。

<!-- offline
| Determines whether maven should attempt to connect to the network when executing a build.
| This will have an effect on artifact downloads, artifact deployment, and others.
|
| Default: false
<offline>false</offline>
-->

将配置文件里的offline节点的注释去掉并改为true,或者自己加一个:

<offline>true</offline>

当然,这样做只是为了方便本地测试而已,如果测试完毕不需要再改代码了,最好还是将该节点改为false,否则你如果在pom文件里引入了本地仓库所没有的依赖时,是不会自动帮你从远处库下载依赖的!!

相关的问题

offline可能会导致启动mvn项目时报错:

Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Cannot access spring-releases (https://repo.spring.io/libs-release) in offline mode and the artifact org.springframework.boot:spring-boot-loader-tools:jar:2.0.5.RELEASE has not been downloaded from it before.

因为offline mode导致无法从线上仓库下载依赖,将offline的值改为false就行了。

最新文章

  1. 监听自定义ItemRender的事件
  2. RecyclerView和PullToRefreshListView的对比
  3. 使用规则引擎Drools计算圆周率PI
  4. 分类 kNN
  5. URAL 1876 Centipede&#39;s Morning(数学)
  6. C# subString的理解
  7. MongoDB - MongoDB CRUD Operations
  8. jsViews validates(验证)
  9. Linux Shell脚本Ldd命令原理及使用方法
  10. C#关于事件的几个好例子
  11. solr中重跑索引
  12. LNMP环境下搭建wordpress
  13. OpenCV-Python入门教程7-PyQt编写GUI界面
  14. JDBC事务的处理-----模拟银行转账业务
  15. 【Scala】Scala-Option-Null的蹊跷
  16. java的按值传递与按引用传递
  17. Data_Structure01-绪论作业
  18. Learning notes | Data Analysis: 1.2 data wrangling
  19. python基础篇---实战---用户登入注册程序
  20. memcached 和 redis 安装

热门文章

  1. BZOJ 2069 POI2004 ZAW 堆优化Dijkstra
  2. RobotFramework教程使用笔记——web自动化测试弹窗处理
  3. python berkeley DB操作——打开btree索引文件中的database
  4. python操作oracle数据库
  5. 对Webview跨源攻击的理解
  6. JavaScript实现按键记录,并在关掉网页之前把记录的内容post出去
  7. Linux-Bond-Configure
  8. ubuntu16.04 + CUDA 9.0 + opencv3.3 安装
  9. hibernate学习三 精解Hibernate之核心文件
  10. 51nod1228