首先,我运行的是Ubuntu 9.10
我已经编辑了/etc/environment文件,如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.20"
CLASSPATH="/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:."然后,我运行"source /etc/environment“以确保包含更改。然后,我尝试使用以下代码编译我的简单测试程序:
javac Test.java
它抛出了一些错误,但当我像这样编译时:
/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:. -cp javacTest.java
它工作得很好,这让我相信,由于某种原因,javac没有看到CLASSPATH环境变量?我可以回显它和终端中的所有东西:
echo $CLASSPATH给了我我投入的东西。
在这方面的任何帮助都将非常感谢。
发布于 2010-05-18 11:30:08
如果你把export放在/etc/environment里,它能工作吗
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.20"
export CLASSPATH="/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:."我猜想在编写脚本之前没有设置CLASSPATH,所以您只设置了一个局部变量。
以下是可能发生的情况的说明:
superman@metro:~$ Z=foo # Only sets for this shell
superman@metro:~$ echo $Z
foo
superman@metro:~$ /bin/bash
superman@metro:~$ echo $Z # Not set in sub-processes
superman@metro:~$ exit
exit
superman@metro:~$ export Z # When exported, is part of environment
superman@metro:~$ /bin/bash
superman@metro:~$ echo $Z # And now visible to sub-processes
foo
superman@metro:~$ exit
exit
superman@metro:~$ help export
export: export [-nf] [name[=value] ...] or export -p
NAMEs are marked for automatic export to the environment of
subsequently executed commands. If the -f option is given,
the NAMEs refer to functions. If no NAMEs are given, or if '-p'
is given, a list of all names that are exported in this shell is
printed. An argument of '-n' says to remove the export property
from subsequent NAMEs. An argument of '--' disables further option
processing.发布于 2010-05-18 11:35:34
您是否导出了配置文件中的所有环境变量?我没有在u......use导出指定的文件中看到任何导出命令,并尝试了一次......
https://stackoverflow.com/questions/2854356
复制相似问题