2016-04-05 57 views
0

Ben bir Java projesi için aşağıdaki dosya yapısını üzerinde çalışıyoruz adres:Java sınıf yolu

sınıfları/X/Y/Z/

İçinde X/Y/Z ve/Projenin farklı bölümleri için benim .java dosyası. Sırasıyla birlikte paketlenirler. Ben her şeyi birlikte derlemek zaman, bu komutu kullanarak sınıfları/dizinine benim .class tüm dosyaları gönderin:

javac -cp classes/jsoup-1.8.3.jar -d ./classes/ X/*.java Y/*.java Z/*.java 

Bu sadece iyi derler (ı sınıfları dizininde JSoup JAR dosyasını koymuş bu öncesinde) . Z/içinde, uygun şekilde bildirilen bir public static void main(String[] args) ile bir Main.java var. Bu dosya, tüm diğerleriyle birlikte derlenir ve .class dosyaları/sınıf dizinine gönderilir. Ben sınıfları/X/dizin içerisinde java Main kullanarak Main.class çalıştırmayı denediğinizde Şimdi

, aşağıdaki hatayı alıyorum:

Error: Could not find or load main class Main 

yüzden ben sınıf yolunda karıştırmasını deneyin düşündüm. Ben iki dizine gidip bu çalıştı: elimdeki tek

bash: ./X/: Is a directory 
bash: ./Y/: Is a directory 
bash: ./Z/: Is a directory 

P.S. ardından java nasıl kullanılacağına dair talimatlar vardı sonra

java -cp jsoup-1.8.3.jar;./X/;./Y/;./Z/ Z/Main 

Ama Windows'ta Git Bash kullanıyorum, bu yüzden bir cmd veya powershell hatası yerine bash hatası aldım. Ayrıca, noktalı virgül yerine sınırlayıcı olarak kullanarak kullanmayı denedim, ancak başka bir şey yapmıyorsam yanlış da işe yaramadı. Y d.class
- - Z MainClass.class

X, Y ve Z nerede

MyDir
X a.class
b.class:

cevap

1

sen olduğunu varsayalım Lets dizinleri.
Y ve Z, X'in alt dizinleridir, X, myDir'in bir altdizdir. içinde

pozisyonu kendinizi> mydir ve çalıştırma:

java -cp "your jars..." X.Y.MainClass