作为一个在*NIX系统(OS X,Ubuntu,...)之间切换的Java开发人员,尽管我总能"启动"我的JDK并且正在运行,但似乎在许多需要JAVA_HOME的软件包中没有明确的JAVA_HOME定义要设置 :
例如
因此,我对这个问题有2个问题(任何见解都会受到欢迎,但具体来说,我有这两个问题):
1)mac os X java安装是否将目标从"JavaVM.frameworks"目录复制到usr/bin?
2)JAVA_HOME的"定义"是什么?显然,我们不能将JAVA_HOME简单地定义为"安装java的地方",因为这个定义是模糊的,因为java既可以存在于HOME位置(即/ System/Library/Fraemworks/.....),也可以或者,它也可以直接在/ usr/bin目录中?
我的想法
我相信JAVA_HOME实际上是指不仅仅是指二进制"java"程序.JAVA_HOME可能是指一组java相关目录和二进制文件的位置......但是,我仍然不清楚这包含了什么,而且我所提议的这个定义是否足够精确到有用.
eri*_*son 14
没有"真实"的定义JAVA_HOME.Java Runtime Environment不使用此变量,并且没有规范作为Java平台的一部分.
它只是一些在Java平台上运行的应用程序使用的约定.由于没有标准,每个应用程序可以自由地制定关于此变量应该引用的目录的规则; 您应该阅读应用程序的文档以了解它需要什么.
也就是说,如果您将其设置为JDK安装的顶级目录(不是JDK中的JRE,而是JDK本身),我发现使用此变量的每个应用程序都将起作用.该目录应包含java分别包含可执行文件和运行时库的"bin"和"lib"子目录.
如果你将它指向一个JRE,一些应用程序也会起作用,但如果它需要像开发工具那样javac,它将会失败.
通常,我JAVA_HOME在命令行上指定运行工具时不需要它,因为我使用多个版本的Java,如下所示:
JAVA_HOME=/usr/local/jdk1.6.0_29 ant
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2773 次 |
| 最近记录: |