使 grails 在本地运行(内联网)

Posted

技术标签:

【中文标题】使 grails 在本地运行(内联网)【英文标题】:Make grails to run locally (intranet) 【发布时间】:2021-05-30 19:41:55 【问题描述】:

看完this post,我不得不说我的处境完全一样。

我可以在我的计算机上使用 USB 密钥从互联网传输文件,但我的计算机无法访问互联网。

所以我的问题是:如何设置我的计算机环境以使grails在没有互联网的情况下首次编译和运行?

我必须下载哪些包,如何创建我的文件夹,并配置我的 build.gradle 以使其运行? (当我想访问maven repository 时,我会看到一大堆文件夹和子文件夹,等等。 我必须创建相同的树状结构吗? 我必须全部下载吗? 是否有任何软件可以自动制作? (废话?)

任何教程,欢迎提供帮助,当(如果)我最终实现这一点时,我准备创建一个完整的教程。

提前致谢!

(此时我在一台可以上网的机器上为我的项目创建war文件,并用tomcat在内网电脑上运行,但是这个方案对开发来说并不满意)

【问题讨论】:

【参考方案1】:

所以我的问题是:如何设置我的计算机环境以使grails在没有互联网的情况下首次编译和运行?

基本上我们需要互联网连接才能从远程位置(Maven)下载所需的依赖项/jar。甚至我们的 Maven 已经自带了本地仓库(~/.m2/repository)

要将打包的应用程序或插件安装到本地 Maven 缓存中,请使用以下命令:

grails maven-install [--binary]

请查看文档here

在您的新应用程序中修改以下详细信息:

本地解析器

如果您不想使用公共 Maven 存储库,您可以指定一个平面文件存储库:

repositories 
    flatDir name:'myRepo', dirs:'/path/to/repo'

要将本地 Maven 缓存 (~/.m2/repository) 指定为存储库:

repositories 
    mavenLocal()

请参阅this 和this 了解所有详细信息和文档

This 是有人在 grails repo 中提出的类似问题

【讨论】:

感谢您的回答。似乎“本地解析器”是最好的答案。我的问题是:如果我复制“repo.grails.org/grails/core”上的所有文件夹、子文件夹和文件,请将它们放在我计算机上的本地文件夹中(USB 传输),并使用链接到我的本地副本的“flatDir”指令@ 987654326@,可以吗?我会试试这个,明天让你知道。 @Snite 请尝试告诉我。 :) 用 wget 复制存储库不起作用,我使用了以下命令: wget -r -l=inf --no-parent --reject "index.html" repo.grails.org/grails/core" On第一个文件夹“.m2e”而不是子文件夹我只有一个名为 index.htm.tmp 的文件我创建了一个新帖子:***.com/questions/66435311/… @Snite 如果我的回答可以帮助您解决问题或解决问题的方法。请采纳答案!!

以上是关于使 grails 在本地运行(内联网)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Grails 2.0 中运行本地插件?

如何使 MySQL 在 grails 2.0 上运行

Grails/Gradle 测试在非本地 CI 上失败

在本地主机上运行两个 grails 应用程序时如何解决跨域错误

如何使 Grails Spring Security 2.0 中的登录/页面成为初始屏幕?

如何让 Grails 从 Maven 存储库中获取最新的本地 jars?