Ana Sınıf Java Bulunamadı veya Yüklenemedi mi? İşte Nasıl Düzeltilir!

Ana Sınıf Java Bulunamadı veya Yüklenemedi mi? İşte Nasıl Düzeltilir!

Java projenizde görünürde bir sebep olmadan ana sınıf bulunamadı hatası almaya devam ederseniz, endişelenmeyin, yalnız değilsiniz.





JVM'nin (Java Virtual Machine) varsayılan bir sınıf yoluna bağlı kalma eğilimi sayesinde, en öngörülemeyen ve kendiliğinden oluşan hatalardan biri olarak, 'ana sınıf bulunamadı' sorunu hem amatörleri hem de profesyonelleri rahatsız eden bir şeydir.





Ancak bu konu aslında göründüğünden daha az korkutucu. Bu hatadan bir kez ve herkes için nasıl kurtulabileceğinizi öğrenmek için okumaya devam edin.





Ana Sınıf Neden Bulunamadı?

JVM'nin ana sınıfı nasıl ve neden bulamadığını anlamaya çalışmadan önce, kavramı anlamamız gerekir. sınıf yolu Java'da.

Classpath Nedir?

Sınıf yolu, Java çalışma zamanı ortamının sınıfları ve diğer kaynak dosyalarını aradığı dosya yoludur. Aşağıdakilerden biri kullanılarak ayarlanabilir: -sınıf yolu bir program yürütürken veya sistemi ayarlarken seçenek SINIF YOLU Çevre değişkeni.



Adından da anlaşılacağı gibi, bu sadece bir dosya yoludur. .sınıf dosyalar bir JDK paketinde veya dizininde bulunabilir.

JVM ana sınıfı bulamadığında, bunun nedeni genellikle ilgili sınıfı aramasıdır. .sınıf dosyalar yanlış sınıf yolunda. Tabii ki, bu sorunu düzeltmenin yolu, paketleri kullanarak veya sınıf yolunu belirterek sınıf yolunu manuel olarak belirlemektir.





Bu noktada Java sınıfları ile ilgili hafızanızı tazelemek isterseniz, aşağıdaki kılavuzumuza göz atın. Java'da sınıf oluşturma .

mesajlarda çizgiler ne anlama geliyor

Paketleri Kullanma

adında bir sınıf oluşturalım. Ölçek . adlı bir pakete yerleştirin. testPaketi . Java'da paketler, benzer sınıfları bir arada gruplandırmak veya sınıflar için benzersiz bir ad alanı sağlamak için kullanılır.





Bu basit örnekte, bir paket kullanmak Java'nın sınıf yolunun nasıl çalıştığını görselleştirmenize yardımcı olacaktır. Dosya yöneticisi uygulamanızda bir paket, bağımsız bir klasör olarak temsil edilir.

package testPackage;
public class Test {
public static void main(String args[]) {
System.out.println('File successfully found!');
}
}

Şimdi yeni bir terminal açın ve çalışma dizininizin paket klasörünü içeren ile aynı olduğundan emin olun. kullanarak çalışma dizinini değiştirebilirsiniz. CD Herhangi bir işletim sisteminde komut.

derlemek test.java aşağıdaki komutu çalıştırarak:

package testPackage;
javac testPackage/Test.java

Bu, derlenmiş ikili dosyayı (.class dosyası) testPackage'e kaydeder.

Derlenmiş sınıfı çalıştırmak için komut satırına tam nitelikli sınıf adını yazmanız gerekir. Bir Java sınıfının tam adı, paket adının önüne eklenen adını ifade eder. Bu durumda, bu şöyle görünmelidir:

java testPackage.Test

Sınıf dosyalarını çağırmanın bu yolu, aynı çalışma dizininden farklı paketlerden yürütülebilir dosyaları da çağırabilmenizi sağlar. Tek yapmanız gereken tam nitelikli sınıf adını değiştirmek.

Daha gelişmiş uygulamalarda, paket içindeki dosyaları daha iyi yönetmek için sınıflarınız ve kaynak dosyalarınız için ayrı alt klasörler oluşturmanızı öneririz.

Sınıf Yolunu Manuel Olarak Belirtme

Java dosyalarınızı yönetmenin önerilen yolu, kaynak dosyalar ve sınıflar için ayrı dizinler oluşturmaktır. Bir proje üzerinde çalışıyorsanız, muhtemelen bunu zaten yapıyorsunuzdur.

Geleneksel olarak, kaynak dosyaların bulunduğu dizin şu şekilde etiketlenir: kaynak ve .class dosyalarına sahip olan şu şekilde etiketlenir: sınıflar. Bu aynı zamanda, düzgün yapılandırılmış dizin sayesinde JVM'nin ana sınıfı bulamama olasılığının önemli ölçüde azaltılmasını sağlamanın bir yoludur.

Bu yöntemi kullanırsak, derlemeden önce dizin yapısı şöyle görünecektir:

Windows 10 hoparlörlerden ses gelmiyor
|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes

Yukarıdaki çizimdeki her girinti, projenizin izlemesi gereken dosya hiyerarşisinin bir düzeyine karşılık gelir.

Bunu derlemek için çalışma dizininizin myFolder olduğundan emin olun. Şimdi, aşağıdaki komutu yazın:

javac -d classes src/testPackage/Test.java

NS .sınıf yürütülebilir dosya kaydedilmelidir myFolder/classes/testPackage . Buna göre, dosya dizini yapısı şuna benzer:|_+_|

çalıştırmak için .sınıf dosyasında Java komutunu tam sınıf adıyla çalıştırın ve yerel sınıf yolunu belirtin. Her yol, bu durumda myFolder olan çalışma dizinine göre bildirilir.

|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes
| |---testPackage
| |---Test.class

Bu komutu çalıştırmak size istenen çıktıyı vermelidir. Ancak, basit bir hatayı çözmek için neden bu kadar çok yeniden düzenleme gerekli?

Java'da Dosyaları Düzenlemenin Önemi

'Ana Sınıf Bulunamadı veya Yüklenemedi'nin atılmasının nedeni, JVM'nin nerede olduğunuzu bulamamasıdır. .sınıf dosyalar saklanıyordu.

Bu hatayı çözmenin en kolay yolu, .class dosyalarının nerede saklandığını kontrol etmek ve JVM'ye açıkça oraya bakmasını söylemektir. Bu, kaynak dosyalarınızı ve yürütülebilir dosyalarınızı ayrı ayrı düzenleyerek ve her şeyi bir çalışma dizininden kontrol ederek mümkün olur.

Gibi yapılar eklemeye başladığınızda miras projenize göre, dosya sistemi karmaşıklığı manifoldu artırmak zorundadır. Bu tür projelerde ve hatta JAR dosyalarının veya özel kitaplıkların kullanılmasının gerekli olduğu projelerde, dosyaları ayırma ve yönetme gibi basit uygulamalar, sizi saatlerce sorun giderme ve hata ayıklama zahmetinden kurtarabilir.

Java'da sınıf yolunun nasıl çalıştığı ve kodunuzu çalıştırma konusunda kontrol edebileceğiniz sayısız şey hakkında daha fazla bilgi için Oracle'ın detaylı ve kullanıcı dostu referans .

Paylaş Paylaş Cıvıldamak E-posta Yeni Programcılar için En İyi 10 Başlangıç ​​Projesi

Programlama öğrenmek istiyor ama nereden başlayacağınızı bilmiyor musunuz? Bu başlangıç ​​seviyesindeki programlama projeleri ve eğitimleri sizi başlatacak.

wifi almak için internet sağlayıcınız olması gerekiyor mu?
Sonrakini Oku İlgili konular
  • Programlama
  • Java
Yazar hakkında Yash Chellani(10 Makale Yayınlandı)

Yash, teknolojiyle ilgili her şey hakkında bir şeyler inşa etmeyi ve yazmayı seven, hevesli bir bilgisayar bilimi öğrencisidir. Boş zamanlarında Squash oynamayı, en son Murakami'nin bir kopyasını okumayı ve Skyrim'de ejderha avlamayı sever.

Yash Chellani'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın