好的,我在CentOS 6.3上使用的是Ant版本1.7.1(默认安装):
[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)
我已经JAVA_HOME
设置好了,然后跑步ant
:
[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的Class System的Java 7
Javadoc
是WRONG(aghast!),其中将java.home
系统属性描述为“
Java安装目录”。我知道,因为系统属性的Java™教程将系统属性描述java.home
为“
Java运行时环境(JRE)的安装目录”。换句话说JAVA_HOME
,环境中的不一定等于java.home
JVM系统属性。(那是什么?!)
问题:在哪里以及如何Ant
获得/设置系统属性java.home
?
真的是JVM内部问题
由于Ant只是在回显java.lang.System属性(请参见原始文章上方的注释),所以这实际上是一个JVM问题。在的Java
HotSpot虚拟机
的核心解释。可在hg.openjdk.java.net上在线获取代码。
在HotSpot(os_linux.cpp)的C
++代码的第309行上,该类中有一个init_system_properties_values()
方法os
。它进行了一些轻微的启发式操作,以嗅探名为的变量的位置,该变量home_path
最终被设置为Java用户所看到的“
java.home”。代码中的注释表明,“
java.home”的java.lang.System属性值(对于JDK安装)。
所以,我确实得到了一件事--显然Oracle的Java7 Javadoc for Class System是错误的(惊呆了!)其中它将系统属性描述为“Java安装目录”。我知道这一点,因为Java(TM)系统属性教程将系统属性描述为“Java运行时环境(JRE)安装目录”。换句话说,环境中的不一定等于JVM系统属性中的。(这是什么决定的?!) 问题:在哪里以及如何获得/设置系统属性?
下面这2段代码有区别吗? 我好奇为啥都是生成的,位置还变了。。。 laravel 11
我正在尝试编辑简单的Andorid应用程序build.gradle 我应该添加https://developer.android.com/studio/build/application-id 我应该把andorid{...}放在哪里?
问题内容: 我正在使用OS X 10.10。尝试与我们团队的私有Docker注册中心进行通信时,它一直给我这样的错误: 在Ubuntu系统上,可以通过添加到配置文件中来解决此错误,如下所示: Mac OS是否有类似的配置文件可在其中添加选项? 问题答案: 您必须将其设置为Docker Machine的/ Boot2Docker配置文件: / var / lib / boot2docker / pr
问题内容: ( 更清楚 ) 您可以在Oracle的官方网站上找到JRE 8 ,JRE 9 和JRE 10(单击每个)。 但是 JRE 11 在哪里? 另外,JDK 11不包含JRE。我期望JRE与JDK一起安装。 我们应用程序的最终用户是否需要安装JDK? 问题的原始版本: 我从其官方站点下载并安装了OracleJDK 11 。我同时安装了和(第一个安装 在Linux计算机上,第二个安装在Wind
谢谢你的回应。我检查了位置,它被标识为与ANDROID_SDK_HOME环境路径相同的位置。它仍然说根是未定义的。我创建了一个到相同位置的ANDROID_SDK_ROOT环境路径,但它仍然没有定义。