Czy wie ktoś moze skąd można ściągnać kompilator Javy przekształcający pliki .class lub .java na pliki .exe pod Windowsem???
- Rejestracja:ponad 21 lat
- Ostatnio:ponad 15 lat
- Postów:3356
Java jest językiem cross-platform, którego programy uruchamiają się na wirtualnej maszynie. Możesz najwyżej poszukać programów (a są takie na necie, gdzieś na tym forum chyba padła nazwa jednego z nich), które mogą Ci skompilować *.exe do uruchamiania takiego programu, ale to tak jakbyś ręcznie uruchamiał polecenie java.exe plik.class [względnie: javaw.exe plik.class], z wbudowanym downloaderem Java runtime environment [JRE]
- Rejestracja:ponad 21 lat
- Ostatnio:ponad 15 lat
- Postów:3356
Krolik napisał(a)
Szczawik - istnieja kompilatory natywne dla javy, wiec nie jest tak jak piszesz. Zainteresuj sie GCJ.
O.. fakt. Przyznam, że pierwszy raz się z tym spotykam; ale rzeczywiście masz rację. Fajnie wiedzieć, że jest coś takiego. Dzięki. [browar]

- Rejestracja:prawie 18 lat
- Ostatnio:ponad 8 lat
- Postów:27
Może coś z tego zadziała:
http://www.ej-technologies.com/products/exe4j/overview.html
http://www.duckware.com/jexepack/index.html
Sam nie korzystałem, bo nie mam Windowsa.

- Rejestracja:ponad 16 lat
- Ostatnio:13 dni
- Lokalizacja:Polska, Warszawa
- Postów:1058
Ja też bym polecił dla początkującego netbeans - szczególnie w najchudszej wersji (tylko Java SE). To IDE przy okazji uczy porządku organizując wstępnie wszystkie rzeczy, które tego potrzebują. Potrafi nawet podpowiadać dostępne konstrukcje języka kiedy się ich zapomina - a tak jest właśnie u początkujących.
- Rejestracja:ponad 16 lat
- Ostatnio:około 16 lat
Ja sie tez zapytam o to samo
"jak to zrobic zeby dzialalo?"
mam sciagniety JDK, JCreator i sama masa roznosci do Javy, cos juz 2 GB sie nazbieralo, a napisanie i urochomienie prostego "Hello User" to nastrecza niezle trudnosci, mam to napisane w Jcreator, ale jak to zapisac w .exe? mam w jakichs plikach javy ale tego sie nie da urochomic, klikniecie w ikonke hello powoduje ze mi sie caly JCreator otwiera i to kod zrodlowy pokazuje.
Mam na mysli takie dzialanie jak mialem kiedys w Delphi Builder Borlanda, gdzie pisalem program, wstawialem elementy, i moglem sobie to zapisac jako .exe i przeniesc na kazdy komp i dzialalo. prostackie Hello User robilo sie w mniej niz 2 minuty, byla ikonka hello.exe i po kliknieciu otwieralo sie okienko z przywitaniem, powazniejsze programy tez tam sie dawalo pisac i dzialalo...w javie cos nie moge tego prostego nie moge osiagnac..jak to zrobic?

- Rejestracja:prawie 17 lat
- Ostatnio:prawie 5 lat
Wpierw powstają pliki źródłowe *.java (można je utworzyć nawet w notatniku). Pliki te są (pół)kompilowane do postaci *.class. IDE (np. JCreator) ułatwia kompilację, ale nie jest konieczne - wystarczyć wpisać polecenie javac *.java (javac MojaKlasa.java). Bardziej rozbudowane programy zawierają wiele klas (plików *.class), które są pakowane do jednego pliku *.jar. Pliki *class i *.jar są takie same dla wszystkich SO (Windows,Linux,Mac,...)
Do uruchomienia programu niezbędne jest by na komputerze była zainstalowana JVM (JRE). Uruchomienie wygląda tak:
- program jest w pliku MojaKlasa.class
wpisujemy polecenie
java MojaKlasa
lub (Windows) kojarzymy rozszerzenie class z
programem java
- program jest w pliku MojProgram.jar
wpisujemy polecenie
java -jar MojProgram.jar
, w systemie Windows
wystarcza zazwyczaj (tzn. po standardowej instalacji JRE) kliknięcie w ikonę pliku
- Rejestracja:ponad 16 lat
- Ostatnio:około 16 lat
dzieki bogdans za cierpliwosc tylko to nie dziala tak jak powinno, wchodzenie do command line czyli DOSa nie dalo nic wiecej jak napisalem poprzednio, dochodze do plikow class i widze taki komunikat:
'hello' is not recoginized as an internal or external command, operable program or batch file
ale w programiku exe4j skompilowalem gotowe demo, i jest .exe poprzez command line wszedlem do katalogu w ktorym sa, komenda dir pokazala mi co tam jest i jakie rozszerzenia, sa .class, .exe, .ico, .bmp, wpisuje hello i otwiera mi sie okienko hello world, tyle ze to otwiera gotowe exe a nie class, bo mam w innym katalogu same .class i nic z nimi nie moge zrobic bo zobacze komunikat jaki powyzej wpisalem, po prostu utknelem na wyprodukowanu plikow .class i co dalej? mam te .class z windowsa jak w nie wejde to otworzy mi sie Jcreator i pokaze kod zrodlowy, z DOSa komunikat jak wyzej, wiec stoje w miejscu i co ja mam z tym zrobic? co ja robie nie tak?

- Rejestracja:ponad 16 lat
- Ostatnio:13 dni
- Lokalizacja:Polska, Warszawa
- Postów:1058
Jeszcze jedna uwaga. Wiele IDE ma tak, że jeżeli umieścisz metodę main klasy Javy w jakimś pakiecie, to po kompilacji oczekiwanym katalogiem domyślnym dla uruchomienia tej klasy nie jest katalog w którym ta klasa się znajduje, ale katalog wyżej. Na przykład jeżeli umieszczę main() klasy XXX w pakiecie pakiet1, a sam projekt będzie się nazywał program1, to klasa z main() będzie umieszczona zaczynając od foldera projektów na takiej ścieżce: program1/build/pakiet1/XXX.class. Wtedy katalogiem bieżącym dla uruchomienia XXX.main() będzie <folder projektów>/program1/build, a wywołanie powinno uwzględniać ścieżkę: pakiet1/xxx.class. Jeżeli spróbujemy odpalić xxx.class z katalogu w którym xxx.class się znajduje, to otrzymamy błąd nieodnalezionej klasy poniewaź JVM będzie oczekiwać metody main na ścieżce pakiet1/xxx.class, a dostanie ./xxx.class. Stąd trzeba wejść katalog wyżej (program1/build) i stantąd wywołać "java pakiet1/xxx".
Głupie to i mnóstwo nerwów mi kiedyś zjadło, ale wiele IDE tak ma.
Na takie przypadki jedynym skutecznym sposobem jest utworzenie klasy, która będzie bez pakietu, co oznacza, że znajdzie się w katalogu bieżącym dystrybucji pakietu, a z jej metody main można już wywoływać bez problemu wszelkie inne klasy w pakietach. W tak zrobionym projekcie kliknięcie na klasę zawierającą main(), które odpali wywołanie java klasa, zadziała zgodnie z oczekiwaniami uruchomieniem programu.