簡體   English   中英

Ubuntu中的Java類路徑問題

[英]Java Classpath Problems in Ubuntu

首先,我正在運行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

它會拋出一些錯誤,但是當我像這樣編譯時:

javac -cp /home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:。 Test.java

它工作得很好,這讓我相信,由於某種原因,javac沒有看到CLASSPATH環境變量? 我可以在終端中回應它和所有內容:

echo $ CLASSPATH給了我放入的內容。

任何有關這方面的幫助將不勝感激。

如果將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.

您是否導出了配置文件中的所有環境變量? 我沒有在你指定的文件中看到任何導出命令......使用export並嘗試一次......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM