Wszystko, co próbuję zrobić, to przekonwertować prosty program java do pliku macappX .app, aby można go było dystrybuować jako prosty plik wykonywalny.Konwersja Java do pliku .app dla MacOSX przy użyciu JarBundler
czytałem wszędzie i każdy mówi to samo:
- Zastosowanie Xcode - o ile mogę powiedzieć, Xcode nie obsługuje Java Buduje
Używaj Jar Bundler - Wszystko samouczki wydają się być nieaktualne i nie działa. Kiedy uruchomić: java -jar jarbundler-2.0.0.jar
Konsola „nie zwraca główną oczywisty atrybut jarbundler-2.0.0.jar”
Jeśli mam rację, to byłoby czy ktokolwiek zapakował plik JAR w prawo? Ale próbowałem pobrać go z innych stron internetowych i innych wersji, ale mam to samo.
Mówią, że możesz po prostu samodzielnie tworzyć katalogi i pliki, a następnie zmienić nazwę folderu na .app, a następnie uruchomić polecenie lub coś takiego, ale jest to skomplikowane, ponieważ nie wiem dokładnie, jak utworzyć informacje. plik plist ... jeśli chcesz zrobić to w ten sposób, najlepsza strona znalazłem do tej pory jest to jeden: Java Deployment Options for OSX
mam skompilowane mój kod do pliku .jar, mam ikona i wszystko, wszystko co muszę zrobić, to w jakiś sposób spakować do pliku .app.
Dzięki za pomoc z góry!
Rozwiązanie
EDYCJA: Dostałem! Po 7 lub 8 godzinach wyszukiwania i czytania działa. Ponieważ jestem nowy w tym, zamierzam opublikować wszystko, czego nauczyłem się, aby uratować innych, którzy napotykają na ten sam problem z powodu bólu. Zrezygnowałem z metody "zrób to sam" i wróciłem do JarBundlera. Jeśli ktokolwiek czyta to i nie wie nic o ANT, oto co zrobiłem: Pobierz JarBundler, dostałem mój tutaj: Mac OS X JarBundler ANT Task i postępuj zgodnie z instrukcjami tam.
Kiedy go pobrać, należy umieścić plik jarbundler-2.2.0.jar tutaj:
/usr/share/ant/lib
może trzeba uruchomić polecenie, aby przenieść go, coś jak :
sudo mv jarbundler-2.2.0.jar ~ /../../ usr/share/ant/lib/jarbundler-2.2.0.jar
jak powiedziałem, wciąż się uczę , ale to działało dla mnie.
Upewnij się, że przesuwałeś właściwy plik jarbundler, tutaj napotkałem problemy, przeniosłem cały folder, zamiast wewnętrznego pliku .jar, więc upewnij się, że przeniesiesz plik .jar znajdujący się w pobranym zipie folderu, nie wszystko, w przeciwnym razie, gdy go zbudujesz, dostaniesz komunikat o błędzie: klasa taskdef net.sourceforge.jarbundler.JarBundler nie może zostać znaleziony.
Następnie musisz skompilować swój kod do pliku .jar (są dwa typy, jeden jest jak plik .zip, a drugi jest plikiem wykonywalnym) Potrzebujesz normalnego pliku JAR, NIE wykonywalnego, aby to zrobić Najpierw musisz skompilować swój kod, aby uzyskać.Pliki klasy, a następnie otworzyć wiersz polecenia i postępuj zgodnie z instrukcjami tutaj: Create a Jar File Polecenie będzie wyglądać następująco:
jar cf myName.jar * .class
Gdy masz plik jar, trzeba utworzyć plik .xml w tym samym folderze i musi mieć nazwę build.xml. Edytuj go za pomocą edytora tekstu. Postępuj zgodnie z instrukcjami na powyższym linku, aby go utworzyć. Będzie to wyglądać mniej więcej tak:
//build.xml
<project name="MyProject">
<taskdef name="jarbundler"
classname="net.sourceforge.jarbundler.JarBundler" />
<target name="bundle">
<jarbundler dir="release"
name="Apollo's Image Editor"
mainclass="ImageEditorGUI"
jar="ApolloIE.jar"
icon="Aperture.icns" />
</target>
</project>
Stamtąd (używam MacBook Pro przy okazji) wszystko co musisz zrobić, to uruchomić wiersz polecenia z tego folderu:
mrówek wiązki
i powinien utworzyć plik .app w folderze o nazwie release. Podsumowując: wszystko, czego potrzebujesz, to plik .jar i plik build.xml w tym samym folderze, a następnie uruchom komendę: Pakiet ant (lub jakkolwiek nazwałeś swój cel w pliku build.xml, nazwałem go pakietem)
Powodzenia, mam nadzieję, że to pomoże każdemu.
Jeśli ktoś się zastanawia, wziąłem Info.plist, który został wygenerowany przez JarBundler i umieścić go w katalogu, który robiłem i działało! Tak, że był problem, po prostu nie wiem, jak sformatować go tak ... to jest tutaj: Info.plist
jaka wersja XCode? – MadProgrammer
Xcode wersja 4.6, właśnie zaktualizowałem to dzisiaj –
Nie próbowałem tego, ale mógłbyś rzucić okiem na [to] (http://informagen.com/JarBundler/) – MadProgrammer