Classpath

För att en javakompilator ska hitta olika klasser och paket som ett javaprogram använder letar den i lite olika kataloger på hårddisken. Om man vill att kompilatorn ska hitta paket och klasser som ligger utanför de vanliga kataloger där den normalt letar måste man tala om var de ligger. Detta gör man antingen med miljövariabeln CLASSPATH eller med flaggan -classpath (-cp).

Detta exempel kommer från Unix-världen. Här har vi en egen javakatalog i hemkatalogen: $HOME/javaklasser/ I Windows skulle det se ut på ungefär samma sätt men sökvägarna ser lite annorlunda ut där.

Med kompilatorflagga

    javac -classpath $HOME/javaklasser fil.java
    java -classpath $HOME/javaklasser fil
  

Med miljövariabel

    CLASSPATH=$HOME/javaklasser
    javac fil.java
    java fil
  

OBS Man sätter bara variabeln i det shell där man skriver raden ovan. För att permanent addera denna sökväg kan man lägga till följande rad i lämplig fil, till exempel .bashrc om man använder bash.

    export CLASSPATH=$HOME/javaklasser
  

Om man har paket i jar-filer måste man ange hela sökvägen med filnamn för att paketet ska hittas.

    javac -classpath $HOME/javaklasser/paket.jar fil.java
    java -classpath $HOME/javaklasser/paket.jar fil