Witam,
Napisałem aplikację w Javie(plik jar), działa bez problemu na komputerach na których jest java. Mam pytanie czy jest jakis sposób, aby odpalić to z pendriva na innym kompie bez javy? Osobiście wydaje mi się to niemożliwe, ale może zna ktoś jakiś sposób.
zawsze mozesz na pena wkleic folder z javą i odpalać jara z odpowiednio napisanego pliku .bat ( w sensie, ze bat będzie miał scieżkę do tej konkretnej javy )
Nie wiem na razie jak sie za to zabrać, ale wydaje się ze to duzo roboty...
Na benie instalujesz Javę i robisz sobie bata:
java\bin\java.exe moj.jar
Kiedyś tak całą aplikację EE odpaliliśmy u klienta i tylko kapkę wolno działała.
e tam - użyj po prostu czegoś co z jara zrobi Ci exe i tyle. Wepchnie co tam mu potrzebne i go-uruchomi sie bez JVM, Oczywiście to pozbawia trochę sensu pisania w Javie - sam ograniczysz platformę ale jak wiesz ze tylko na wingrozowych kompach to bedzie chodzić to czemu nie?
Niech no poszukam nazwy programiku, który sam używam ... ooo mam JSmooth - prosty jak budowa zamku z klocków lego :-)
Exe generowany przez JSmooth również wymaga zainstalowanej javy... ma nawet opcje przy wyborze szkieletu 'co robić, gdy aplikacja nie znajdzie zainstalowanej na systemie javy' (przekierowanie do Suna, automatyczny download, etc).
sprawdziłem...faktycznie na kompie bez Javy nie chodzi. Namieszałem trochę :/Wydawało się to logiczne no bo przecież JVM sama z siebie jest pisana w C++ o ile dobrze kojarze? Przecież java.exe i zależności z których korzysta to po prostu skompilowany kod-mylę się?
Jest tylko kilka, bardzo drogich komercyjnych kompilatorów, które kompilują cały kod bajtowy aplikacji oraz wszystkie pliki źródłowe konkretnej wersji javy (JRE) do jednego pliku wykonywalnego w konkretnym systemie. Aby z tego skorzystać trzeba posiadać oczywiście źródła JVM javy jako programu w C++ oraz wszystkich bibliotek standardowych i własnej aplikacji w źródłach java. Tak czy inaczej kod jądra jvm gdzieś musi istnieć. Albo w pamięci jako osobno załadowany JRE, albo jako część skompilowanej aplikacji. W tym drugim wypadku zadziała to tak jakby uruchomionych było jednocześnie kilka niezależnych środowisk javy dedykowanych dla każdej aplikacji osobno.
Tak czy inaczej razem z JDK dostarczana jest wersja JRE, która jest "standalone" i którą można do rozpowszechniać razem z własną aplikacją. I to chyba jest najprostsze.
A GCJ nie kompiluje do samodzielnego exeka?