Daha önce belirtildiği gibi, -cp sadece komut satırında jvm'ye ana iş parçacığı için hangi sınıfın kullanılacağını ve kitaplıkları nerede bulabileceğini (sınıf yolunu tanımlayın) söylemek içindir. -Jar'da, sınıf yolu ve ana sınıfın jar dosyası bildiriminde tanımlanmasını bekler. Diğeri, komut satırındaki şeyleri tanımlarken, diğerleri onları jar manifestinde bulmak içindir. Performansta bir fark yoktur. Bunları aynı anda kullanamazsınız, -jar, -cp'yi geçersiz kılar.
-Cp kullansanız bile, yine de bildirim dosyasını kontrol edecektir. Böylece, bazı sınıf yollarını manifest'te ve bazılarını komut satırında tanımlayabilirsiniz. Bu, özellikle yapınızla birlikte sağlamayabileceğiniz veya sağlamak istemeyebileceğiniz bazı 3. taraf jar'larına bağımlı olduğunuzda yararlıdır (örneğin, kurulacağı sistemde zaten bulunmasını beklerseniz). Böylece harici kavanozlar sağlamak için kullanabilirsiniz. Konumu sistemler arasında değişebilir veya hatta farklı sistemlerde farklı bir sürüme sahip olabilir (ancak aynı arayüzlere sahip). Bu şekilde, uygulamayı başka bir sürümle oluşturabilir ve uygulamayı farklı sistemlerde çalıştırırken komut satırındaki sınıf yoluna gerçek 3. taraf bağımlılığını ekleyebilirsiniz.