当前位置: 首页 > 面试题库 >

即使设置正确,Gradle也会发现错误的JAVA_HOME

濮波
2023-03-14
问题内容

尝试运行gradle时,出现以下错误:

# gradle

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

但是,当我检查JAVA_HOME变量时,我得到:

# echo $JAVA_HOME 
/usr/lib/jvm/java-7-oracle

我的JAVA_HOME是在.bashrc中定义的,我已经仔细检查过它是否已设置为源。

运行java -version还确认JAVA_HOME设置正确并且在PATH上。

# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

我还检查了/usr/bin/java符号连接/etc/alternatives/java这反过来又正确的符号链接/usr/lib/jvm/java-7-oracle/jre/bin/java

另外,我检查了.bash_profile或中没有重复的JAVA_HOME定义/etc/profile

所以我的问题是Gradle如何/为什么找到/usr/lib/jvm/default-java,更重要的是如何将其指向正确的目录?

其他需要JDK的程序也可以正常工作,因此我认为这是Gradle问题。我也尝试过重新安装Gradle,这没有什么区别。

我正在运行64位Xubuntu(Ubuntu 13.10基本版本)


问题答案:

事实证明,我从Ubuntu 13.10存储库 _本身_下载的特定Gradle二进制文件试图导出JAVA_HOME。

/usr/bin/gradle 第70行:

export JAVA_HOME=/usr/lib/jvm/default-java

注释掉该行即可解决问题,Gradle会找到指向Java二进制文件的正确路径。

如果仅从他们的网站下载二进制文件,则不会出现此问题,这是Ubuntu
repo版本的问题。13.10版本似乎还存在其他一些问题。



 类似资料:
  • 当尝试运行gradle时,我得到以下错误: 但是,当我检查JAVA_HOME变量时,我得到: 我的JAVA_HOME是在.bashrc中定义的,我仔细检查了它是否被设置为源。 我还检查了符号链接到,而又正确地符号链接到 此外,我还检查了或中没有重复的JAVA_HOME定义。 所以我的问题是Gradle如何/为什么找到,更重要的是我如何将它指向正确的目录? 其他需要JDK的程序工作得很好,所以我认为

  • 问题内容: 我正在尝试使用Newtonsoft Json.Net序列化对象。 该对象是一个匿名类型,其中填充了许多异构事物,主要是常规POCO,但也包含s或s。 问题是,将属性添加到时,每个null属性都将被忽略,但前提是它是“常规” .Net对象的一部分。或内的每个null属性都会保留。 这是一个最小的示例: 是否有一种简单的方法也可以忽略这些空值?我错过了一些设置选项吗?还是我必须手动处理?

  • 公共静态无效setisInvalidDob(Boolean dob){SharedPretions首选项=PreferenceManager.getDefaultSharedPreferences(CreditMantriApplication.getCreditMantri());最终SharedPreferences.Editoredit=preferences.edit();edit.put

  • 问题内容: 我有一个表单,它通过:remote => true通过AJAX提交表单。查看服务器日志和FireBug,我得到响应200 OK,它以以下形式返回JSON: 然后我有以下两个处理程序: 即使我退回200OK,也会触发错误处理程序。我唯一使成功处理程序起作用的方法是,我发送了标头中带有200的空响应。 我不知道为什么这不起作用:-S 编辑1 ------------完成这些更改后: 我仍然

  • 问题内容: 嘿,我的基于springsecurity的登录有点混乱 我不断收到错误“凭据错误” 这是我的用户表: ![Usertable] [1] 这是来自applicationContext的dataSource: 和我的securityContext: 当我尝试使用admin和init01登录时 它给了我错误的错误凭据… =( 任何建议表示赞赏! 问题答案: 您的参考已被注释掉。如果您使用的是

  • 问题内容: 这是我的代码: 我的回应是: 500服务器错误 我打开我的变量,然后看到: POST / rest / platform / domain / list HTTP / 1.1 即使我曾经将其设置为GET,为什么也将其设置为POST ? 问题答案: 将请求方法隐式设置为POST,因为这是您要发送请求正文时的默认方法。 如果要使用GET,请删除该行并删除该行。您无需发送GET请求的请求正文