我知道这export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
会将tools.jar添加到CLASSPATH,但是我想将文件夹设置为CLASSPATH
像这样
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
但它不起作用。
我知道这export CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
会将tools.jar添加到CLASSPATH,但是我想将文件夹设置为CLASSPATH
像这样
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
但它不起作用。
Answers:
首先,一般来说,设置env var 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
-此目录中所有未jar的类都将添加到类路径中(必须采用正确的包结构;例如,com.my.Foo.class
必须位于中/dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
-此目录中的所有jar(即/dir5/dir6/*.jar
)都将添加到类路径中。请注意,该“ *
”不是通配符(您不能使用f*.jar
,甚至不能使用*.jar
);这是一个特殊字符,表示“添加所有罐子”通常,如果必须将jar的整个目录添加到应用程序的类路径中,则表明该应用程序未正确捆绑。相反,该应用程序应具有一个清单,其中包含它依赖的jar列表。或者至少,仅应将一个jar添加到您的类路径中,并且该jar可以在清单中的某个子目录中包含整个jar列表。
如果要永久设置类路径,则1)找出java的安装位置。您可以在/ usr / lib / jvm / ..中使用“ whereis java” openjdk-7 / 6。
2)我们需要在/ etc / environment中设置CLASSPATH
sudo gedit /etc/environment
3)添加以下内容..(不要在键入时留任何空间)(根据您的Java版本和安装进行自定义)(此主路径用于打开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
用“:”分隔目录