我必须在 Ubuntu 上管理多个 Grails 版本,即 1.3.9 和 2.0.4。我从 PPA 安装了 Grails,它允许安装多个版本,但只在 bin 下创建一个条目,它指向最新版本。
在 Grails 版本之间切换的最简单方法是什么?请注意,我是 Grails 的新手,我更喜欢不依赖于特定 IDE 的解决方案。
我使用解析application.properties
文件的脚本来确定特定应用程序需要哪个版本的 Grails,然后调用它。我将此脚本作为“grails”安装在我的bin
目录中。这样我就可以运行grails whatever
,并且会自动使用正确版本的 Grails。
我使用的脚本是我自己编写的,但也有类似(并且设计更好)的解决方案可供下载,例如https://github.com/deluan/grails.sh 。
我写了一个简单的脚本,不像Ian Roberts 回答那样复杂,但这对我有用。我想 Grails 版本安装在/opt
文件夹下,您还需要将此文件添加grails
到PATH
.
#!/bin/bash
GRAILS_VERSION=`grep app.grails.version application.properties | cut -d'=' -f2`
GRAILS_HOME="/opt/grails-$GRAILS_VERSION"
export GRAILS_HOME
$GRAILS_HOME/bin/grails $*
Stack Overflow 中有更多关于这个主题的问题:
Groovy 环境管理器。http://gvmtool.net/不仅适用于 grails 的最佳工具,它还适用于 groovy、griffon、gradle、vertx 等。
最简单的方法是指定要使用的 grails 安装的完整路径,而不是仅仅依赖grails run-app
. 这样您就可以控制正在执行的“grails”版本。
我确信还有其他更高级的方法可以做到这一点,但简单地指定 grails 可执行文件的位置是最简单的。
也就是说,在 IDE 中工作可能会使这更容易或更难,但是如何做到这一点将取决于特定的 IDE。
我在我的 ubuntu 机器上使用 7 grails 版本。将下面的代码放在 .bashrc 文件的底部。
function switchGrails() {
echo “切换到 grails 版本:1 美元”</p>
sudo rm /opt/grails
sudo ln -s /opt/$1 /opt/grails
回声“完成!”</p>
}
别名 grails225='switchGrails “grails-2.2.5”'</p>
别名 grails224='switchGrails “grails-2.2.4”'</p>
别名 grails223='switchGrails“grails-2.2.3”'</p>
别名 grails233='switchGrails “grails-2.3.3”'</p>
别名 grails235='switchGrails “grails-2.3.5”'</p>
别名 grails237='switchGrails“grails-2.3.7”'</p>
别名 grails2311='switchGrails“grails-2.3.11”'</p>
保存退出后。编译 .bashrc 文件。键入 cd 和 . .bashrc 编译 .bashrc 文件。
更多参考:https ://pkashyap28.wordpress.com/2014/09/11/manage-multiple-grails-application-in-ubuntu/
我在项目中创建了一个 bash 脚本( grails.sh
) 以确定 grails 版本并使用相同的版本来编译/测试/运行项目。
#!/bin/bash
GRAILS_DIRECTORY="/usr/local"
GRAILS_VERSION=`grep app.grails.version application.properties | cut -d'=' -f2`
GRAILS_HOME="$GRAILS_DIRECTORY/grails-$GRAILS_VERSION"
export GRAILS_HOME
$GRAILS_HOME/bin/grails compile
$GRAILS_HOME/bin/grails test-app
$GRAILS_HOME/bin/grails -Dserver.port=8443 run-app
执行 bash 脚本
$ bash grails.sh