"Przenośny" program w Javie

"Przenośny" program w Javie
N1
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 14 lat
  • Postów:3
0

W jaki sposób można stworzyć w Javie program, który możnaby uruchamiać po prostu otwierajac jego skrót czy jakiś plik, a niekoniecznie z wiersza polecenia? Nie mam też na myśli appletów. Chodzi o to czy można stworzyć program i zapisać go tak, żeby można go było wysłać, dać na penie czy płytce dowolnej osobie tak, żeby mogła go otworzyć (posiadając oczywiście oprogramowanie Javy).

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 12 godzin
0

Jeżeli masz poprawnie skonfigurowany system to dwuklik na pliku JAR powinien go odpalić. Problem byłby jeżeli twój program jest konsolowy. Wtedy pasuje albo odpalić JAR z wiersza polecenia. Program może się zorientować czy jego JVM ma dołączoną konsolę za pomocą metody System.console()


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
VG
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 8 lat
  • Postów:79
0

Powinno się otwierać jak Wibowit wspomniał. Gdyby jednak coś u końcowego użytkownika nie działało, często przy dystrybucji javowych programów można znaleźć dołączone pliki startowe *.bat i *.sh


edytowany 1x, ostatnio: VGT
N1
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 14 lat
  • Postów:3
0

W takim razie, podsumowując, co trzeba zrobić po napisaniu programu, żeby mieć (względną :P) pewność żeby każdy mógł go otworzyć bez problemu? Po dwukliknięciu JARu

0

Ty nic nie możesz zrobić (poza utworzeniem prawidłowego jara). Końcowy użytkownik może poprawić konfigurację swojego komputera.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Jak już ktoś wspomniał można do aplikacji dodać JVM i pliki wsadowe/skrypty które sobie to ladnie rozpakują i ustawią zmienne środowiskowe. Minus jest taki ze JVM zapewne zajmuje znaczniej wiecej niż twoja aplikacja...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 12 godzin
0

Można też użyć GCJ lub http://www.excelsior-usa.com/jet.html do skompilowania kodu Javowego do EXEka.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

GCJ - no ciekawe rozwiązanie tylko czemu płatne i czemu takie niebotyczne sumy? Atut tego by wyeliminować zagrożenie prostej dekompilacji jest jednak bardzo kuszący. Tylko że tak po prawdzie to chyba jest tak że on powstały bajtkod javowy "przepisuje na C" - mylę się? Ale i tak bardzo fajne rozwiazanie tylko skąd oni wzieli te ceny? (taa gdyby się szef zgodził na kupno:P ). Szukałem odpowiednika opensource i nie znalazłem a wy?

Co do załaczania wirtualnej maszyny z aplikacją - jak to jest z licencją?


Another jam from the world for the jam from the voices of the world......
0

Jestes pewien ze mowisz o tym samym GCJ?

lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

Ano zasugerowałem się. Chodziło mi o link wstawiony przez wibowita


Another jam from the world for the jam from the voices of the world......
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 12 godzin
0

http://en.wikipedia.org/wiki/GNU_Compiler_for_Java - jakość nie najlepsza, ale (jak mówi wiki) da się skompilować nawet Eclipse.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
0

Na uczelni na niektórych linuksach są dwie javy: oracle(sun) i gcj. Programy z GUI skompilowane gcj (uruchamiane gdziekolwiek) działają źle (tzn. niezgodnie z dokumentacją). Wygląd też mają nieodpowiedni, pewnych komponentów po prostu nie widać.

lipkerson
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 2 lata
0

To co chcecie powiedzieć że nie ma żadnej alternatywy open-source lub przynajmniej na "fajnej" licencji tego Excelsior JET?:/


Another jam from the world for the jam from the voices of the world......
Wibowit
Są tam fajne licencje dla niekomercyjnych projektów lub małego biznesu. Poczytaj.
Black007
  • Rejestracja:ponad 21 lat
  • Ostatnio:dzień
0

Witam.
Do autora postu, jeśli problem nadal aktualny, to musisz stworzyć ze swojego programu plik jar.
Bo nigdzie nie wyczytałem, że to zrobiłeś.
W pliku jar musisz mieć katalog META-INF a w nim plik MANIFEST.MF.
W pliku tym trzeba wpisać: Main-Class: pl.moja.paczka.MojaKlasaMain

Pozdrawiam


"Nie popełnia błędów tylko ten, kto nic nie robi"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.