`/usr/bin/buildclasspath`执行`/usr/bin/groovy时的消息`
您希望我向您介绍哪个“Java扩展”?“一些特定的罐子”?我没有具体说明。我真的很喜欢这些毫无意义的信息 更新1: 两者:`/usr/bin/buildclasspath`执行`/usr/bin/groovy时的消息`,groovy,fedora20,Groovy,Fedora20,您希望我向您介绍哪个“Java扩展”?“一些特定的罐子”?我没有具体说明。我真的很喜欢这些毫无意义的信息 更新1: 两者: # groovy --version /usr/bin/build-classpath: Could not find /lib/jvm/java Java extension for this JVM /usr/bin/build-classpath: error: Some specified jars were not found Groovy Version: 1.
# groovy --version
/usr/bin/build-classpath: Could not find /lib/jvm/java Java extension for this JVM
/usr/bin/build-classpath: error: Some specified jars were not found
Groovy Version: 1.8.9 JVM: 1.7.0_79 Vendor: Oracle Corporation OS: Linux
# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (fedora-2.5.5.0.fc20-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
如中所述,没有任何帮助
对于这两个,都有一个程序提供“java[c]”
,它是OpenJDK
也没用
更新2:
我安装并设置为备选方案:
# alternatives --config java
# alternatives --config javac
无济于事
更新3:
第一条消息来自/usr/share/javautils/java函数:
# java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
看起来你的Java安装搞砸了。建议使用替代工具进行配置,以仅选择OpenJDK。此stackoverflow问题中指出了解决此问题的进一步尝试。但这似乎归结为不安装OracleJDK 编辑:
根据评论,如果这些链接没有帮助,我会在我的答案中添加这个变通方法:即从解包下载zip,将JAVA_HOME设置为正确的JDK目录,并使用其中的shell脚本。页面上还对GVM进行了描述,与纯zip相比,使用GVM安装Groovy要舒服一些。尽管如此,这还是绕开了Fedora上的正确安装,因此只有在没有其他功能的情况下,或者如果您只想在本地安装,才应该使用它 卸载FC的Groovy并遵循(非常感谢!)上的说明完成了以下任务:
#!/bin/sh
#
# Small script to build a classpath depending on the JVM used
#
# JPackage Project <http://www.jpackage.org/>
#
# $Id: build-classpath,v 1.2 2005/09/17 07:06:19 david Exp $
# Import java functions
[ -r "/usr/share/java-utils/java-functions" ] \
&& . "/usr/share/java-utils/java-functions" || exit 1
# Prints help message
usage() {
cat >&2 << EOF_USAGE
Usage: $0 <jar1> [<jar2> .. <jarn>]
jarX: name of a jar
Example: jndi
EOF_USAGE
exit 2
}
[ "$#" -eq "0" ] && usage
set_javacmd || exit 3
check_java_env || exit 4
set_jvm_dirs || exit 5
_ALLFOUND="true"
for extension in "$@" ; do
unset _JARS
extension=$(find_jar $extension)
if [ "$?" = 0 ] ; then
if [ -d "$extension" ] ; then
# Brute-force approach. If we can't specify a single jar, we can as
# well take everything in the directory
# This may create duplicates if symlinks point back inside the
# directory structure, but who cares
_JARS=$(find "$extension" -follow -name "*.jar" -type f -printf %p: 2>/dev/null)
else
_JARS=$extension:
fi
_CLASSPATH=$_CLASSPATH$_JARS
else
# Defer failure to get list of all errors in one shot
_ALLFOUND="false"
fi
done
# Cleanup trailing :
_CLASSPATH="$(echo $_CLASSPATH | sed 's+:$++g')"
# Echo classpath whether it's complete or not
# Apps that do not care about a full classpath can redirect errors to /dev/null
echo "$_CLASSPATH"
if [ "$_ALLFOUND" = "true" ] ; then
exit 0
else
echo "$0: error: Some specified jars were not found" >&2
exit 6
fi
因此,可能不是您的java,而是您的groovy安装出了问题。我只能建议一种解决方法,那就是使用来自的zip分发版,并改用它。由于Java正在工作,您可能必须将Java_设置为HOME,否则您应该能够直接从该zip使用groovy。我一开始并没有建议这样做,因为您尝试了系统变量和包管理器。但是,由于这些事情失败得如此严重…非常感谢链接!如果你回答我,我就接受。如果不是,我会接受我自己的。
#!/bin/sh
#
# Small script to build a classpath depending on the JVM used
#
# JPackage Project <http://www.jpackage.org/>
#
# $Id: build-classpath,v 1.2 2005/09/17 07:06:19 david Exp $
# Import java functions
[ -r "/usr/share/java-utils/java-functions" ] \
&& . "/usr/share/java-utils/java-functions" || exit 1
# Prints help message
usage() {
cat >&2 << EOF_USAGE
Usage: $0 <jar1> [<jar2> .. <jarn>]
jarX: name of a jar
Example: jndi
EOF_USAGE
exit 2
}
[ "$#" -eq "0" ] && usage
set_javacmd || exit 3
check_java_env || exit 4
set_jvm_dirs || exit 5
_ALLFOUND="true"
for extension in "$@" ; do
unset _JARS
extension=$(find_jar $extension)
if [ "$?" = 0 ] ; then
if [ -d "$extension" ] ; then
# Brute-force approach. If we can't specify a single jar, we can as
# well take everything in the directory
# This may create duplicates if symlinks point back inside the
# directory structure, but who cares
_JARS=$(find "$extension" -follow -name "*.jar" -type f -printf %p: 2>/dev/null)
else
_JARS=$extension:
fi
_CLASSPATH=$_CLASSPATH$_JARS
else
# Defer failure to get list of all errors in one shot
_ALLFOUND="false"
fi
done
# Cleanup trailing :
_CLASSPATH="$(echo $_CLASSPATH | sed 's+:$++g')"
# Echo classpath whether it's complete or not
# Apps that do not care about a full classpath can redirect errors to /dev/null
echo "$_CLASSPATH"
if [ "$_ALLFOUND" = "true" ] ; then
exit 0
else
echo "$0: error: Some specified jars were not found" >&2
exit 6
fi
# yum erase groovy
...
# curl -s get.gvmtool.net | bash
...
# source "/root/.gvm/bin/gvm-init.sh"
# gvm install groovy
...
# groovy -version
Groovy Version: 2.4.4 JVM: 1.8.0_51 Vendor: Oracle Corporation OS: Linux