当前位置: 首页 > 知识库问答 >
问题:

Ant在哪里设置了'java.home'(它是否错误),它是否应该追加'/jre'?

闻华容
2023-03-14
[theuser@dev-ingyhere ~]$ ant -version
Apache Ant version 1.7.1 compiled on August 24 2010
[theuser@dev-ingyhere ~]$ cat /etc/*-release
CentOS release 6.3 (Final)
[theuser@dev-ingyhere ~]$ export JAVA_HOME=/usr/java/jdk1.7.0_17 ; echo $JAVA_HOME ;
/usr/java/jdk1.7.0_17
[theuser@dev-ingyhere ~]$ ant -diagnostics | grep java\\.home
java.home : /usr/java/jdk1.7.0_17/jre
[theuser@dev-ingyhere ~]$ export JAVA_HOME=/a/fools/folly ; echo $JAVA_HOME ; ant -diagnostics | grep java\\.home
/a/fools/folly
java.home : /usr/java/jdk1.7.0_17/jre
[theuser@dev-ingyhere ~]$  env | grep JAVA
JAVA_HOME=/a/fools/folly 

所以,我确实得到了一件事--显然Oracle的Java7 Javadoc for Class System是错误的(惊呆了!)其中它将java.home系统属性描述为“Java安装目录”。我知道这一点,因为Java(TM)系统属性教程将Java.home系统属性描述为“Java运行时环境(JRE)安装目录”。换句话说,环境中的java_home不一定等于JVM系统属性中的java.home。(这是什么决定的?!)

问题:Ant在哪里以及如何获得/设置系统属性java.home

共有1个答案

孙思源
2023-03-14

实际上是一个JVM内部问题

由于Ant只是响应java.lang.System属性(参见上面原始帖子下的注释),所以这实际上是一个JVM问题。Java HotSpot虚拟机是核心解释器。代码可在hg.openjdk.java.net上在线获得。

在HotSpot(os_linux.cpp)的C++代码的第309行,在os类中有一个init_system_properties_values()方法。它做了一些温和的试探,以嗅出名为home_path的变量的位置,该变量最终被设置为Java用户眼中的“Java.home”。代码中的注释表明“ /jre'被正式指定为”java.home“的java.lang.System属性值(在JDK安装的情况下)。

 类似资料:
  • 问题内容: 好的,我在CentOS 6.3上使用的是Ant版本1.7.1(默认安装): 我已经设置好了,然后跑步: 这更有趣: 因此,我确实得到了一件事-显然,Oracle的Class System的Java 7 Javadoc 是WRONG(aghast!),其中将系统属性描述为“ Java安装目录”。我知道,因为系统属性的Java™教程将系统属性描述为“ Java运行时环境(JRE)的安装目录

  • 谢谢你的回应。我检查了位置,它被标识为与ANDROID_SDK_HOME环境路径相同的位置。它仍然说根是未定义的。我创建了一个到相同位置的ANDROID_SDK_ROOT环境路径,但它仍然没有定义。

  • 问题内容: 没有它是否有效? 有一个标记页面中某些字段的过程,只是找到了一个页面,其中的输入字段没有按我的预期被标记。 我花了一段时间,但得出的结论是,获取表单元素然后获取字段的过程是导致这些表单丢失的原因,因为没有表单。 问题答案: 如果没有出现,则为有效,是的(至少对于html 4.01,请看17.2.1的结尾): 用于创建控件的元素通常出现在FORM元素内部,但当用于构建用户界面时也可能出现

  • 给定一个非常简单的类: 要检查是否尚未赋值,只需执行是?

  • 问题内容: PHP手册建议检查返回值并在屏幕上显示错误消息。 同样,对于OOP样式的构造函数,建议这样做: Stack Overflow上的一些用户甚至使用了如下代码: 但是,在过去的几周里,我一直在问自己一个问题,为什么我需要这样做?第一个示例的输出是: 警告:mysqli_connect():(HY000 / 1045):在第4行的C:\ xampp \ … \ mysqli.php中,用户’