Witam, mam pytanie - chcę napisać aplikację okienkową w środowisku netbeans w języku java, i chę aby po utworzeniu programu uruchamiał się on na komputerze nawet w przypadku gdy komputer nie będzie miał zainstalowanej javy, jak to zrobić ?
- napisać program ; )
- wyeksportować do jara poprzez IDE bądź samemu z lini poleceń (wujek google)
- Napisać plik bat który będzie odpalał naszego jara wskazując javę dostarczoną np w tym samym folderze co program ( było z tydzień temu na forum )
odpalał naszego jara wskazując javę dostarczoną np w tym samym folderz
Mi chodzi o przypadek gdy w kompie nie będzie w ogóle javy
marek2444 napisał(a)
odpalał naszego jara wskazując javę dostarczoną np w tym samym folderz
Mi chodzi o przypadek gdy w kompie nie będzie w ogóle javy
ale cały myk polega na tym, że TY dostarczasz javę która jest w katalogu wraz z programem. W ten sposób program działa na javie która jest z nim w katalogu, a użytkownik nie musi instalować jej u siebie
@marek2444, musisz w takim przypadku dostarczać kompletne środowisko uruchomieniowe Java. Potem możesz skorzystać z na przykład exe4j by uzyskać plik exe.
Ale dołożyć do programu bym musiał cały folder jdk ?- on zajmuje prawie 200mb to trochę lipa chyba
Wystarczy jre
JRE ma 90mb to też trochę dużo :/
Dziwne. Na stronie Oracle pisze że instalka JRE ma tylko 15 MiB. Podejrzanie mało.
W każdym razie samorozpakowujące się archiwum z JRE i programem załatwi sprawę :)
Mi chodzi o ten folder jar znajdujący się w folderze jdk, u mnie zajmuje on 90mb.
No to go spakuj. Po co ci możliwość odpalania programu w Javie bez Javy? A może wolisz odpalanie programu na Linuxa bez Linuxa?
@marek2444, JRE ściągasz ze strony Oracle ma z od 15 do 20MB. Ściągasz, ROZPAKOWUJESZ, i dystrybuujesz razem z aplikacją.
a to ja zapytam przy okazji: nie koliduje to z zainstalowaną javą?
@dzek69, nie jeżeli odpalasz z np. bata:
$ cd moja_app
$ ./jre/java aplikacja.jar
w takim przypadku zostaje uruchomiona konkretna maszyna wirtualna w konkretnej konfiguracji. Nie powinno się posypać, chyba, że korzystasz z profilerów i ci się JVMy na portach pokłócą, ale w takim przypadku graj w totka, bo podobne prawdopodobieństwo.
możesz spróbować użyć gcj http://gcc.gnu.org/java/gcj2.html