logo

Ana Bildirim Özelliği Yok

Bir Java projesinde çalıştırılabilir her jar dosyası bir ana yöntem içerir. Genellikle uygulamanın başlangıç ​​noktasına yerleştirilir. Kendi kendini çalıştıran bir jar dosyasıyla bir ana yöntemi yürütmek için, uygun bir manifest dosyasına sahip olmalı ve bunu projemizle birlikte doğru konuma sarmalıyız. Bu dosyalar, ana yönteme sahip sınıfa giden yolu tanımlamak için kullanılan bir ana bildirim niteliğine sahiptir.

Bazen kendi kendini çalıştırabilen bir jar'ımız olur ve projeyi yürütmeye çalıştığımızda aşağıdaki hata mesajını verir:

 Unable to execute jar- file: 'no main manifest attribute.' 

Yukarıdaki hata mesajı, MANIFEST.MF dosyasında Ana Sınıf girişinin eksik olması nedeniyle atılıyor.

Bu sorunla herhangi bir yapılandırma tabanlı uygulamada karşılaşabilirsiniz. Java proje. Çözümlerini tartışalım:

Çözüm:

Farklı projelerdeki çözümlerini anlayalım:

Uzman

İçinde Uzman Project'te, MANIFEST.MF dosyasında Ana Sınıf girişinin eksik olması nedeniyle bu sorunla karşılaşılabilir. Bu sorunun üstesinden gelmek için pom.xml dosyamıza manüel olarak bir kod koyarak tanımlayabiliriz. maven-jar-eklentisi pom.xml'de.

 org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain 

Yukarıdaki kodda com.javatpoint.AppMain, Ana Sınıfın tam nitelikli adıdır. Tam nitelikli adı sınıf yolunuza göre değiştirmeniz gerekir. Tam adı kopyalamak için ana sınıfı içeren pakete sağ tıklayın ve Tam Nitelikli Adı Kopyala .

kepçe

Eğer Gradle projenizde bu hatayı alıyorsanız aşağıdaki girdileri projenize koyarak çözebilirsiniz. build.gradle dosya:

 plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } } 

Bahar Önyükleme Uygulaması

Bazen bu hatayla karşılaşılabilir Bahar Çizme proje. Spring Boot projesinde bu hatayı çözmek kolaydır. SB projesinde bu hatayı düzeltmek için maven eklentisi bağımlılığını pom.xml dosyasındaki etiketin altına yerleştirin.

 org.springframework.boot spring-boot-maven-plugin 4.0.1 

Ana Bildirim Özelliği Yok Hatasının Temel Nedeni

'Ana bildirim yok hatası' genellikle META-INF klasörü altında bulunan MANIFEST.MF dosyasına müdahale etmenizden kaynaklanır. Varsayılan olarak aşağıdaki girdiye sahiptir:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse 

Nerede,

Manifest-Sürüm Manifest dosyasının sürümüdür.

Tarafından inşa edildi PC'nizin adıdır.

Yapı-Jdk makinenizde yüklü olan JDK sürümüdür.

Tarafından yaratıldı IDE'de kullanılan eklenti adıdır.

Projeyi çalıştırdığımızda MANIFEST.MF dosyasında Main-Class’ı arayacaktır. Girişi bulamazsa 'Jar dosyası yürütülemiyor' hata mesajını verecektir. Yukarıdaki çözümleri çalıştırdığımızda projenin Manifest dosyasındaki sınıf girişi otomatik olarak aşağıdaki gibi güncellenecektir:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain