如何在 Ubuntu 中为文件夹设置 CLASSPATH 变量

如何在 Ubuntu 中为文件夹设置 CLASSPATH 变量

我知道这export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH会将 tools.jar 添加到 CLASSPATH,但我想将文件夹设置为 CLASSPATH

像这样

export CLASSPATH=/usr/local/java/lib/:$CLASSPATH

但它不起作用。

答案1

首先,一般来说,设置环境变量CLASSPATH通常会导致比它解决的问题更多的问题 —— 因为并非所有应用程序都希望/需要相同的类路径,并且当类路径中包含不需要的甚至不需要的 jar 时,通常会中断。Java 应用程序应该只包含它所需的最少数量的 jar,不多也不少。

当您有特定的、单独的应用程序需要设置类路径时,通常首选命令行选项:java -cp path1:path2:...。可以修改桌面图标的命令以包含这些选项,或者可以修改 shell 脚本以包含这些选项。

话虽如此(因为规则总是有例外),然后根据 java 的版本(这需要 java 6 或更高版本),您可以指定将整个 jar 目录添加到类路径中,方法是在*目录末尾添加“ ”;例如以下内容:

 /dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...

方法:

  • /dir1/foo.jar- (单个 jar)将被添加到类路径中;
  • /dir2/dir3- 此目录中所有未解压的类都将添加到类路径中(必须位于正确的包结构中;例如,com.my.Foo.class必须在中/dir2/dir3/com/my/Foo.class
  • /dir5/dir6/*- 此目录中的所有 jar 文件(即/dir5/dir6/*.jar)都将添加到类路径中。请注意,这个“ *”不是通配符(您不能使用f*.jar或 甚至*.jar);它是一个特殊字符,表示“添加所有 jar 文件”

一般来说,如果您必须将整个目录的 jar 文件添加到应用程序的类路径中,则应用程序捆绑不正确。相反,应用程序应该有一个清单,其中包含它所依赖的 jar 文件列表。或者至少,只应将一个 jar 文件添加到您的类路径中,并且该 jar 文件可以在其清单中包含某个子目录中的整个 jar 文件列表。

答案2

如果您想永久设置类路径,那么 1)找出 java 的安装位置..您可以使用“whereis java”openjdk-7/6 位于 /usr/lib/jvm/.....

2)我们需要在/etc/environment中设置CLASSPATH

  sudo gedit /etc/environment

3)添加以下内容...(输入时不要留任何空格)(根据您的 Java 版本和安装进行自定义)(此主路径适用于 Open JDK 7)

   JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/bin"

   export JAVA_HOME

   CLASSPATH=".:/usr/lib/jvm/java-7-openjdk-i386/lib:/home/laptop/Desktop/a2"

   export CLASSPATH

用“:”分隔目录

答案3

打开终端并输入

sudo nano〜/ .bashrc

添加您需要的所有出口,如...

导出JAVA_HOME=/usr/local/java/jdk1.6.0_06(你的路径)

导出 ANT_HOME=/opt/ant/apache-ant-1.9.4

最后重新启动终端以使更改生效

相关内容