exe zamiast jara?

0

Witam
Mam pytanie czy jest moźliwość spakowania klas napisanego programu razem
z klasami javy potrzebnymi do dzialania tego programu do jednego pliku(cos na wzor jara), który
działałby w widnowsie (np. moj_program.exe) bez potrzeby instalowania javy.
Dzieki za odpowiedz

0

Odpowiedz z serii 'Odpowiedzi na milionowe pytanie': Google. Java to nie tylko klasy a caly runtime, wiec jego tez musialbys spakowac. Czytaj: plik bedzie wazyl z 10 MB(plus Twoj program) - nie wiem ile teraz runtime wazy, dawno nie pisalem - + bedzie dzialal wolniej + cala zaleta przenosnosci Javy idzie w sina dal...

0

Mnóstwo kompilatorów do wyboru. Najlepsze i najdroższe są komercyjne. Kosztują często od $1500 w górę.
Darmowe nie są często kontynuowane i szybko wypadają z obiegu wraz z nowymi wersjami JRE. Tu jest lista części z nich:
http://schmidt.devlib.org/java/native-compilers.html#products

0
johny_bravo napisał(a)

plik bedzie wazyl z 10 MB(plus Twoj program) - nie wiem ile teraz runtime wazy, dawno nie pisalem - + bedzie dzialal wolniej + cala zaleta przenosnosci Javy idzie w sina dal...

Zobacz ile ważą biblioteki startowe dowolnego samodzielnego programu okienkowego. Konsolowe wersje C potrafiły mieć 50KB..4MB (zależnie od modelu pamięci i obsługi). Tylko specjalnie okrojone wersje schodziły do 2-4 KB. Runtime dla statycznej aplikacji okienkowej mający conajmniej 10-15 MB to obecnie chyba standard. Poza tym im większy runtime, tym z reguły krótszy i bardziej efektywny kod (pod warunkiem, że korzysta z tego pierwszego w stopniu jak najwyższym). Im króstszy i biedniejszy runtime, tym więcej trzeba wlinkować bibliotek statycznych. Wychodzi w sumie na to samo. Alternatywą są biblioteki dynamiczne takie jak DLL lub całe dynamiczne języki takie jak Java, C#.
Co do przenośności javy, to racja - idzie w siną dal. Natomiast nie można tego powiedzieć o szybkości - kod kompilowany do kodu maszynowego jest niemal zawsze szybszy od kodu interpretowanego. Drugim powodem jest zabezpieczenie kodu przed dekompilacją / spiratowaniem. I to są jedyne ważne przyczyny kompilacji programu do kodu maszynowego.

0

A to niby czemu idzie w siną dal? Wystarczy pokompilować dla różnych systemów bez zmiany czegokolwiek w kodzie. Jak dla mnie to jest wystarczająca przenośność. Nawiasem mówiąc eclipse też jest dostarczany w postaci wykonywalnej.

0

O ile pamietam pare 'packerow' to nie kompilowaly one kodu, tylko dolaczaly maszyne wirtualna. Byla to wiec de facto wersja 'standalone' oprogramowania z rozpakowywana w locie maszynka wirtualna. Czyli takie rozwiazanie w pelni ssie. Jesli dziala to tak jak piszesz, to bomba, zupelnie inna bajka :)

@rnd: to nie jest ogolnie rozumiana przenosnosc ;) Eclipse (w czasie, gdy ja go uzywalem) byl zbiorem jarow, ze starterem w postaci execa.

0

Co do przenośności Javy o która tak wszyscy zabiegaja, może to i zaleta ale zależy jak dla kogo :) jakie ma znaczenie bo dla mnie to średnie.
Nie jestem programista z zawodu, raczej to bylo moje hobby i caly czas sie ucze, a teraz pisze program inżynierski który chce sprzedawać jednak na razie nie stac mnie na profesionalny instalator a chce udostepniac program w prostej formie bez potrzeby instalowania javy. Jeśli chodzi o przenośność to zależy mi tylko na windowsie bo sadze ze 95% moich przyszlych klijentów korzysta wlasnie z windowsa tak ze przenośność javy nie jest dla mnie istotna, poza tym mozna po prostu przygotowac na inne systemy też takie programy.
Mimo wszystko dzięki za wszystkie odpowiedzi pozdrawiam
Mariusz

0
aloszafiodor napisał(a)

Co do przenośności Javy o która tak wszyscy zabiegaja, może to i zaleta ale zależy jak dla kogo :) jakie ma znaczenie bo dla mnie to średnie.
Nie jestem programista z zawodu, raczej to bylo moje hobby i caly czas sie ucze, a teraz pisze program inżynierski który chce sprzedawać jednak na razie nie stac mnie na profesionalny instalator a chce udostepniac program w prostej formie bez potrzeby instalowania javy. Jeśli chodzi o przenośność to zależy mi tylko na windowsie bo sadze ze 95% moich przyszlych klijentów korzysta wlasnie z windowsa tak ze przenośność javy nie jest dla mnie istotna, poza tym mozna po prostu przygotowac na inne systemy też takie programy.
Mimo wszystko dzięki za wszystkie odpowiedzi pozdrawiam
Mariusz

Klient pisze się bez j :D

0

@aloszafiodor - jak nie zalezy Ci na przenosnosci, chcesz tylko wspierac Windows, to dokonales po prostu zlego wyboru jesli chodzi o technologie. Tam rzadzi (IMHO niepodzielnie) .NET. Od ktoregostam SP do XP jest on z automatu instalowany wiec nie ma problemu z runtimem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1