Kodum oldukça büyük almış sorunları ve bu yüzden nasıl yapıldığını görmek için bir çalıştırılabilir JAR inşa etmeye karar verdik. Muhtemelen daha önce denemeliydim çünkü proje yapısıyla ilgili 2 farklı hata alıyorum, ilk olarak komut satırından JAR'ı çalıştırmaya çalışırken "ana manifest özellik hatası" yok. JAR'yi çift tıklatarak hiçbir şey yapmaz (Win7). İkinci konu aşağıya açıklanan FXMLLoader ile ilgilidir. JavaFX: yardıma ihtiyacınız anlayış proje hiyerarşisi
Ben JAR dizine tüm Maven dosya taşıma dahil JAR inşa etmek adımlarını here izledi. Derlenmiş JAR bana açık hata verdi, bu yüzdenpom.xml
dosyamda bir Maven eklentisi ekleyen
this'u takip ettim. Hata
primary
pakettir ve
Drag
main
yöntemi vardır benim Drag.java dosyası (sınıfı) olan hat
<mainClass>com.primary.Drag</mainClass>
ile yanlış adlandırma kuralı neden olmuş olabilir.
inititally varsayılan paket programı kullanılarak ama bu daha büyük projeler için tavsiye edilmez okurdu, bu yüzden "birincil" içine bütün dosyalarımı koydu.
Sorun "birincil" paketi oluşturan beri, artık hatta şöyle dursun bir katedilebilen JAR inşa intellij aracılığıyla programı derlemek olmasıdır: Burada IntelliJ gösterildiği gibi benim şimdiki hiyerarşidir . ama artık
FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("firstlaunch.fxml"));
Varsayılan paketi ile çalışmak için kullanılır: Bu primary/Drag.java
içinde bu hat üzerinde java.lang.IllegalStateException: Location is not set.
olduğunu Bahsettiğim ikinci hatalardan, kaynaklanmaktadır.
'u /primary/firstlaunch.fxml
ve /resources/firstlaunch.fxml
(kaynakları birincil pakete taşıyarak veya taşımadan) yerine değiştirmeyi denedim, ancak şans yok.
3 İlgili Sorular: benim proje yapısı yanlış
- mi?
- Fxml dosyasını
primary
paketinden nasıl başvuruyorsunuz? - Maven'in mainClass etiketlerinde yazmam gereken şey bu mu? projemin yapısı yanlış
<mainClass>com.primary.Drag</mainClass>
maven tarafından eklenen Ben com paketi değiştirildi olacak **** ve işe yaradı. Ayrıca META-INF klasörünün src/main/java// src/main/java/... –