[linux] How to set Java classpath in Linux?

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).

This question is related to linux classpath

The answer is


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.


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:.

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.