Plik .exe bespośrednio z plików .java.

Plik .exe bespośrednio z plików .java.
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Czy istnieje program lub wtyczka do Eclipse, który tworzy plik .exe bez tworzenia pliku .jar? Co właściwie robi JVM , gdy się klika w plik .jar? Ładuje klasy, wypakowuje do temp?

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:18 minut
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
0

Tu masz opisane co robi JVM:
https://docs.oracle.com/javase/specs/jvms/se12/html/index.html

Ale generalnie nie musi nic wypakowywać.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
PI
to mu podałeś konkretne miejsce :D :D
vpiotr
Korpo pomoc pelna geba 😉
MrMadMatt
  • Rejestracja:ponad 9 lat
  • Ostatnio:16 dni
  • Postów:373
0

Jak budujesz projekt Mavenem w Eclipsie to możesz użyć tego: http://launch4j.sourceforge.net/. Podpinasz pod projekt i w targecie wyrzuca Ci jara jak i exe'ka.

Akihito
  • Rejestracja:ponad 8 lat
  • Ostatnio:22 dni
  • Lokalizacja:Śląsk
  • Postów:248
1

W javie nie kodze ale nie chodzi po porstu o wymagane srodowisko uruchomieniowe? Taki C# zostawia pliki w formie .dll potrzebne do uruchomienia aplikacji i potrzebny w przypadku c# jest .net framework. To normalne ze aplikacje po za plikiem .exe maja swoje wlasne pliki potrzebne do uruchomienia :)

cerrato
Tutaj mamy przewagę Delphi/Lazarusa: dajesz plik EXE i niczego Ci do szczęścia nie potrzeba, żadnych dotnetów czy innych RTL :P
jarekr000000
Delphi. Pamiętam z lat 90 tych, że kilka razy okazało się na demo... że na kompie nie ma zainstalowanych jakiś dllek i wszystko szło się rypać. Nawet w pewnym momencie miałem na testy specjalny komp z gołym windows, żeby takie programy testować. (Bo u każdego developera zawsze działało, bez problemu).
cerrato
Ale Szanowny Panie - dll a RTL czy jakieś VC redist to są zupełnie inne tematy :P
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Czyli nie powinno byź różnicy w czasie otwierania programu miedzy .exe, a .jar?

Akihito
Wyczuwalnej raczej nie :D ale niech sie eksperci od Javy wypieordza ja tym pisz tylko w tej "skryptowej" wersji
PerlMonk
@Akihito: "Skryptowej wersji"... piłeś - nie pisz na forum ;)
Akihito
dlatego dalem w cudzyslowie :P
PerlMonk
No i dobrze, bo już chciałem kazać ci iść pobiegać ;)
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Dzięki.

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 18 godzin
1

Otwieranie .jar jest jak otwieranie .jpg - system szuka sobie skojarzonego programu do odpalania JARków bądź JPGów.

.jpg też możesz zamienić na .exe, ale pytanie jak. Możesz do pliku .exe zapakować .jpg razem z Photoshopem i wtedy po odpaleniu tego .exe będzie się odpalać Photoshop wyświetlający JPGa. Takie rozwiązanie będzie bardzo zasobożerne. Szybsze byłoby zostawienie .jpg i odpalenie go np przez wbudowaną w system pokazywarkę zdjęć.

Co właściwie robi JVM , gdy się klika w plik .jar? Ładuje klasy, wypakowuje do temp?

JVM nie rozpakowuje wstępnie JARów sam z siebie, ale niektóre biblioteki same to robią. Np w JARze jest 5 EXEków jako zasoby i żeby je odpalić trzeba je wypakować. Sam JVM natomiast traktuje JAR jako zwykłego ZIPa i na bieżąco strumieniuje zasoby do pamięci. Stąd np różnice w wydajności w zależności od tego czy JAR ma włączoną kompresję czy nie. Kompresja zwalnia odczytywanie JARa. Przykład tutaj: Program kompilowany chodzi szybciej niż budowany

PS:
JARa da się zamienić na natywną binarkę z wbudowanym okrojonym JVMem bez JITa i np dynamicznego ładowania bajtkodu, ale za to z całym bajtkodem skompliowanym do kodu natywnego. Działa tak https://www.graalvm.org/docs/reference-manual/aot-compilation/ Są jednak chyba też inne rozwiązania jak https://www.excelsiorjet.com/ które mają chyba więcej możliwości. Są to jednak rozwiązania niszowe, gdyż pierwsze jest jeszcze we wczesnej fazie rozwoju, a drugie kosztuje gruby hajs.


"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.
edytowany 6x, ostatnio: Wibowit

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.