Ostatnio pracując z malutkim projektem w NetBeans w pewnym momencie świeżo zbudowany plik JAR uraczył mnie komunikatem:
Failed to load Main-Class manifest attribute
Po krótkim guglaniu dowiedziałem się, że najczęściej taki komunikat dostają osoby, które do pisania programów wykorzystują tylko javac i cat i zapominają umieścić w pliku JAR plik manifest.mf. Proponowane rozwiązanie: użyj jakiegoś IDE, takiego jak Eclipse. Taaaa....
W JARze budowanym przez NetBeansa znajdował się wspomniany plik manifest.mf, ale nie mówił on która klasa w pliku jest główną. Przyczyną takiego błędu w tym IDE jest utworzenie projektu "class library", a nie "java application" - tak brzmi oficjalna wersja. Ale przecież 10 minut temu to jeszcze działało i było założone jako "java application".
Co ciekawe, pod samym NetBeansem cały projekt się uruchamiał, miał wybraną klasę główną itd., itp. Co poszło nie tak?
Moja aplikacja tworzyła pewne pliki w folderze głównym projektu. Kasowałem je czasami, żeby nie było bałaganu. I w pewnym momencie skasowałem z folderu głównego projektu plik manifest.mf. Jak się okazuje, to jego obecność oznacza dla NetBeansa projekt jako "java application". Wystarczyło utworzyć ten plik z jedną linijką treści:
Manifest-Version: 1.0
I śmiga jak zwykle. Cóż, każde IDE ma swoje tajemnice... ;)
Więcej: http://wiki.netbeans.org/FaqNoMainClass
poniedziałek, 20 września 2010
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz