• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwszy program w Java

Object Storage Arubacloud
0 głosów
799 wizyt
pytanie zadane 1 marca 2017 w Java przez mar686 Początkujący (350 p.)
Mam taki problem próbuję zacząć swoją przygodę z Javą pobrałem jdk ustawiłem zmienne środkowiskowe i po naspisaniu pierwszego prymitywnego programu:
public class Witaj
{
public static void main (String[] args)
{
System.out.println("Witaj Świecie");
}
}
kompiluje go poprawnie wpisując javac Witaj.java a gdy chcę go uruchomić wpisując java Witaj wyskakuje błąd:
"could not find or load main class Witaj"
Od razu dodaje plik ma tą samą nazwę jak public class w programie. Taki błąd wyskakuje przy każdym programie.
komentarz 1 marca 2017 przez KubenQPL Maniak (62,820 p.)
W edytorze jest możliwość formatowania kodu, umieszczając kod należy z niego skorzystać.
komentarz 1 marca 2017 przez mar686 Początkujący (350 p.)
To jest podpowiedź do mojego problemu??
komentarz 1 marca 2017 przez KubenQPL Maniak (62,820 p.)
Nie to są zasady tego forum. Pomoc udzieliłem ci poniżej.

4 odpowiedzi

0 głosów
odpowiedź 1 marca 2017 przez KubenQPL Maniak (62,820 p.)

Po chwili researchu znalazłem takie rozwiązanie:

- zrób plik manifest.mf w tym samym folderze co twoja klasa Witaj.java, zawartość pliku:

Manifest-version: 1.0
Main-Class: Witaj

Uwaga, na końcu pliku manifest musi być nowa linia (poprostu enter po "Main-Class: Witaj")

- skompiluj, spakuj to do jara i uruchom następnymi komendami

javac Witaj.java
jar cfm witaj.jar manifest.mf Witaj.class
java -jar witaj.jar

Powinno zadziałać.

Czemu nie piszesz tego po prostu w jakimś IDE? Byłoby o wiele łatwiej i szybciej.

komentarz 1 marca 2017 przez mar686 Początkujący (350 p.)
Na studiach mam narazie w konsoli i poprostu próbuję rozwiązać problem czemu to mi tak nie działa chodź powinno no ale widzę że rozwiązanie nie będzie tak proste jak myślałem.
komentarz 1 marca 2017 przez KubenQPL Maniak (62,820 p.)
Jakieś super trudne nie jest wystarczy plik manifest dodać.
komentarz 1 marca 2017 przez mar686 Początkujący (350 p.)
właśnie szukam czegoś jak się to robi serio pierwszy dzień z java jestem poza C++ w niczym innym nic nie programowałem.
komentarz 1 marca 2017 przez KubenQPL Maniak (62,820 p.)
Dobrze jest umieć skompilować "ręcznie" ale raczej rzadko się z tego korzysta, chyba tylko w awaryjnych sytuacjach (których nawet nie potrafię sobie wyobrazić :D )
0 głosów
odpowiedź 2 marca 2017 przez Mateusz51 Nałogowiec (28,180 p.)
edycja 2 marca 2017 przez Mateusz51
Jak odwołujesz się do skompilowanego kodu?

java Witaj.class czy java Witaj ??

To pierwsze Ci nie zadziała.

Po drugie możesz spróbować java -cp ./ Witaj
Jeśli to drugie Ci zadziała to znaczy że nie masz ustawionej scieżki CLASSPATH. I w narzedziach systemu musisz dodać taką zmienną środowiskową z regułą .; (kropka- oznaczająca aktualny folder)
komentarz 2 marca 2017 przez niezalogowany
> Jak odwołujesz się do skompilowanego kodu?

>> gdy chcę go uruchomić wpisując java Witaj wyskakuje błąd
komentarz 2 marca 2017 przez mar686 Początkujący (350 p.)
Odwoływałem się java Witaj ale nie działało. No i to java -cp ./ Witaj  wkońcu zadziałało .

Wcześniej miałem problem że mi właśnie opcja javac nie działała i wtedy ustawiłem zmienną CLASPATCH i dopiero zaczęło mi wogóle javac działać. Czyli jeśli ta opcja mi działa znaczy że źle ją ustawiłem?

CLASSPATCH mam tak C:\Java\jdk1.8.0_121\lib.
komentarz 2 marca 2017 przez mar686 Początkujący (350 p.)
Teraz to już nie wiem próbowałem ustawić tą zmienną CLASSPATCH nie udało się teraz nawet zrobiłem taką jak wcześniej miałem ale przy próbie kompilacji czegokolwiek wywala error:

class names 'Witaj' are only accepted if annotation processing is explicitly requested.
komentarz 2 marca 2017 przez Mateusz51 Nałogowiec (28,180 p.)
W CLASSPATH musisz mieć regule ./ albo . Informujesz wtedy ze class loader ma szukac plikow od bierzacego folderu. Bez tej reguły nie bedzie Ci dzialać. Nie musisz podawać do CLASSPATH bibloteki standardowej javy.

Jeśli chcesz aby Ci java i javac i inne działały to musisz dodac do scieżki PATH folder bin z jdk.

Dodatkowo warto jeszcze stworzyc JAVA_HOME w którym podajesz folder java w którym trzymasz wyszstkie jdk i jre. Ecllipse wymaga tego do pracy.
0 głosów
odpowiedź 2 marca 2017 przez Wojciech Cies Obywatel (1,140 p.)

Podaj dokładnie komendy jakie wywołujesz i w jakim katalogu jesteś.

Ogólnie to powinno działać: jeżeli w katalogu c:\projekt masz plik Witaj.java, to procedura:

c:\projekt: javac Witaj.java

# kompiluje Witaj.java do Witaj.class

c:\projekt: java Witaj

# odpala klasę Witaj.class która powinna być w tym samym katalogu

 

0 głosów
odpowiedź 20 stycznia 2019 przez Karol_1985 Nowicjusz (180 p.)
Witam ja mam ten sam problem po napisaniu pierwszego programu:

public class Hello{
    public static void main(String[] args){
        System.out.print("Hello World");
        }
        }

wpisaniu w wiersz poleceń javac Hello.java nie pojawia się kompletnie nic.

C:\Java>javac Hello.java
C:\Java>

a po miedzy wierszami jak sami wiecie powinno się pojawić Hello World a nie ma nic.
komentarz 20 stycznia 2019 przez NIMuser Stary wyjadacz (11,030 p.)
javac kompiluje, musisz użyć później java.exe <nazwa_programu> co zresztą w tym wątku kilka razy padło.
komentarz 21 stycznia 2019 przez Karol_1985 Nowicjusz (180 p.)
i Tu był błąd dokładnie. Dzięki pozdro.

Podobne pytania

+2 głosów
3 odpowiedzi 683 wizyt
pytanie zadane 5 lutego 2019 w Python przez Byczek_ Bywalec (2,570 p.)
+1 głos
1 odpowiedź 440 wizyt
pytanie zadane 7 stycznia 2019 w Nasze projekty przez Absum Bywalec (2,640 p.)
0 głosów
2 odpowiedzi 217 wizyt
pytanie zadane 17 stycznia 2017 w C i C++ przez Rocket_Turtle Nowicjusz (150 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...