问题
I downloaded apache-log4j-1.2.16.zip and unziped it. I then renamed it as LOG4J_HOME and placed it in /home/appnetix folder which is my folder. I tried setting the classpath in the terminal using the following command :
[appnetix@Sanjeev ~]$ set classpath=%path%;LOG4J_HOME/log4j-1.2.16.jar;
That returned:
bash: LOG4J_HOME/log4j-1.2.16.jar: Permission denied
I tried doing this:
[appnetix@Sanjeev ~]$ set classpath=%path%;//home/appnetix/LOG4J_HOME/log4j-1.2.16.jar;
But I got this:
bash: //home/appnetix/LOG4J_HOME/log4j-1.2.16.jar: Permission denied
Please help, I'm new in Linux (one month).
回答1:
export CLASSPATH=/home/appnetix/LOG4J_HOME/log4j-1.2.16.jar
or, if you already have some classpath set
export CLASSPATH=$CLASSPATH:/home/appnetix/LOG4J_HOME/log4j-1.2.16.jar
and, if also you want to include current directory
export CLASSPATH=$CLASSPATH:/home/appnetix/LOG4J_HOME/log4j-1.2.16.jar:.
回答2:
You have to use ':' colon instead of ';' semicolon.
As it stands now you try to execute the jar file which has not the execute bit set, hence the Permission denied.
And the variable must be CLASSPATH not classpath.
回答3:
Can you provide some more details like which linux you are using? Are you loged in as root? On linux you have to run export CLASSPATH = %path%;LOG4J_HOME/og4j-1.2.16.jar If you want it permanent then you can add above lines in ~/.bashrc file.
来源:https://stackoverflow.com/questions/2973624/how-to-set-java-classpath-in-linux