如何从 Grails 命令/SDK 中清除 Maven 缓存?

Posted

技术标签:

【中文标题】如何从 Grails 命令/SDK 中清除 Maven 缓存?【英文标题】:How to clean Maven cache from Grails command/SDK? 【发布时间】:2014-05-28 17:59:12 【问题描述】:

我正在寻找一个 Grails SDK 命令(例如 grails maven-clean 之类的命令),它会清理我的本地 .m2\ 缓存,强制 Grails 构建的其余部分(grails wargrails run-app 等)从远程仓库重新获取它们。想法?

【问题讨论】:

其实不需要是纯Grails SDK命令;如果 Grails/Groovy 已经安装在系统上,那么 shell 可以使用的东西。 如果依赖项没有改变,为什么要重新获取它们? 感谢 @chad (+1) - 也许其中一些部门是其他内部库的 SNAPSHOT 版本(目前正在积极开发中)。因此,如果我的应用依赖于 somelib-SNAPSHOT.jar,则 SNAPSHOT 可能会随着其他内部开发人员发布它的新版本而每隔几个小时更改一次。 如果您有快照,只需指定更改策略。请参阅grails.org/doc/latest/guide/conf.html#changingDependencies 请注意,这取决于您是 Aether 还是 Ivy。不过建议使用以太。 【参考方案1】:

你试过了吗..> refresh dependencies 然后在命令行上发出grails clean ...在./m2refresh dependencies 下有时deleting the bogus file 可能会节省很多时间...

也:与grails maven-clean -U 命令相关的检查这个

grails maven help

mavenRepo ("http://my.server/repos/my-grails-plugins") 
    updatePolicy 'always'

以下是 updatePolicy 的可能值:

never – Never check for new snapshots
always – Always check for new snapshots
daily – Check once a day for new snapshots (the default)
interval:x – Check once every x minutes for new snapshots

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 @AndreschSerj 谢谢!看看现在谁在主持节目?【参考方案2】:

如果您在构建时使用 mvn 命令行上的 -U 标志,Maven 将检查新版本的依赖项。如果您不使用 -U,我相信它只会每 24 小时检查一次新版本的 SNAPSHOT 依赖项。

【讨论】:

谢谢@chad (+1) - 虽然你说“通常...” - 这种行为(24 小时)可以配置或修改吗?如果是这样,有什么线索吗?再次感谢! 我认为不可能。我会正常编辑,这是误导。我想我的意思是它还可以做一些其他的事情,比如清除缓存中的“我找不到那个”之类的东西。 . .即它不会在 24 小时内再次尝试查找丢失的工件。 顺便说一句,如果它适合您,您应该接受答案。这是使该网站成为有用的信息存储库的关键部分。

以上是关于如何从 Grails 命令/SDK 中清除 Maven 缓存?的主要内容,如果未能解决你的问题,请参考以下文章

如何从源代码安装 Grails 插件?

如何使用命令关闭 grails run-app

Grails:如何从控制器逻辑返回错误消息(即不是源自域属性验证)?

Grails 命令对象数据绑定

grails excel-export 如何从页面导出excel

如何设置永远记住我或登录grails?