安装Groovy

6fe3ivhb  于 2023-06-05  发布在  其他
关注(0)|答案(9)|浏览(163)

最近我下载了Groovy-2.3.6,并尝试在Linux系统上安装它。我遵循http://groovy-lang.org/install.html的指令。我设置了GROOVY_HOME变量。

export GROOVY_HOME=/home/work/Software/groovy-2.3.6

然后将环境路径变量设置为Groovybin文件夹

export PATH=$PATH:/home/work/Software/groovy-2.3.6/bin

JAVA_HOME变量已创建。
现在当我尝试运行Groovy的任何命令时,它会生成以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groo/tool/GroovyStarter
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.tools.GroovyStarter
      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.codehaus.groovy.tools.GroovyStarter.  Program will exit.

我正在浏览一些网站来解决这个问题。我发现,如果我设置错误的路径到GROOVY_HOME,那么它可能会发生。我想不出该变量的正确路径。谁能帮我一下。谢谢

slwdgvem

slwdgvem1#

在Linux/Mac上安装Groovy最简单的方法是使用SDKMAN。我的建议是

  • 撤销你已经做过的一切
  • 通过运行curl -s "https://get.sdkman.io" | bash安装SDKMAN
  • 打开一个新的终端并使用命令sdk install groovy 2.3.6安装groovy

接下来,您可以使用SDKMAN在不同版本的Groovy(以及Gradle,Grails,Griffon等)之间切换,安装新版本,删除旧版本等等。

ehxuflar

ehxuflar2#

虽然我同意GVM解决方案可能是正确的方法,但我相信您遇到的具体问题是bug的扩展,它阻止您在安装路径(和GROOVY_HOME变量)中拥有空间;路径中也不能有连字符或句点。
因此,您需要类似于:

export GROOVY_HOME=/home/work/Software/groovy236

这种模式也适用于真正的Windows。

txu3uszq

txu3uszq3#

在Windows上::
1.从http://groovy.codehaus.org/Download下载最新版本的groovy
1.解压tar文件(例如c:\groovy)
1.设置环境变量:a] GROOVY_HOME到groovy目录(例如C:\groovy\groovy-2.4.6)。B] JAVA_HOME到JRE
1.确保GROOVY_HOME/bin和JAVA_HOME/bin在PATH中都可用
现在您可以成功地运行Groovy代码了(例如GroovyHello.groovy)

im9ewurl

im9ewurl4#

我最近在使用groovy-2.0.8时遇到了同样的问题。我不确定是我的groovy-2.0.8二进制文件损坏了,还是版本2引入了一些根本不同的东西,但是,当我将groovy-1.8.9设置为我的路径时,我在尝试运行groovy脚本时不再得到错误。
我还发现上面的答案指出,你不能有“连字符或句号”作为误导和不正确的。

332nm8kg

332nm8kg5#

尝试通过删除“\bin”来改变路径,我摆脱了它,它对我非常有效。

xwmevbvl

xwmevbvl6#

在基于Ubuntu的发行版上(您似乎正在使用unix-y的东西),sudo apt install groovy

qvtsj1bj

qvtsj1bj7#

我得到了相同的错误消息,经过多次尝试和错误后发现,GROOVY_HOME变量没有正确设置。
groovy应用程序依赖于指向正确目录的GROOVY_HOME路径,否则您将看到上面的错误。
我看到上面的一个答案,建议从目录名中删除句点并将其添加到路径中。这将工作,但可以做一个更干净的方式使用符号链接。
点击下面的链接,或者点击我的总结:
https://www.packtpub.com/mapt/book/All%20Books/9781849519366/1/ch01lvl1sec11/Installing+Groovy+on+Linux+and+OS+X
1.创建一个名为current的符号链接,指向groovy的主目录(例如/usr/share/groovy/groovy-2.1.6)。符号链接可以位于保存groovy-x.y.z目录的同一目录中。这种方法的优点是避免了PATH中的无效字符,并且可以在升级后重定向到新版本的groovy。下面是一个假设groovy安装在/usr/share/groovy/和groovy版本2.1.6中的示例。
sudo ln -s /usr/share/groovy/groovy-2.1.6 current
1.使用新的符号链接在登录脚本中定义GROOVY_HOME变量(例如.profile):
export GROOVY_HOME=/usr/share/groovy/current
1.将GROOVY_HOME/bin添加到登录脚本中的PATH变量:
export PATH=$GROOVY_HOME/bin:$PATH
1.* 注意:* 最好在测试前注销并登录,以确保初始化脚本正确设置了环境变量
通过执行groovy -v进行测试
我希望这对任何偶然发现这个链接的人都有好处。

dvtswwa3

dvtswwa38#

我在windows操作系统中遇到了同样的问题。我终于找到了这个page,感谢作者,我解决了我的问题。简而言之,不要设置GROOVY_HOME env var。使用其他的东西。GROOVY_DIR,然后在PATH中设置%GROOVY_DIR%\bin。嘣!Groovy开始工作了。

rks48beu

rks48beu9#

以下所有命令均失败:

export GROOVY_HOME='/Library/groovy4012'
export PATH=$PATH:/Library/groovy4012/bin
groovy
groovy -v
export PATH=$PATH:/Library/groovy4012/
groovy -v
export PATH=$PATH:/Library/groovy4012
groovy -v
export PATH=$GROOVY_HOME/bin:$PATH
groovy -v

但在这之后,我尝试了不同的方法

cd /Library/groovy4012/bin
./groovysh

工作:)
顺便说一句,有趣的是,没有人能解释如何在Linux/MacOS上正确地进行手动安装

相关问题