Problemy początkującego

0

Cześć
Rozpoczynam programowanie w Javie i pojawiły mi się problemy.
Przepisałem standardowy program HelloWorld
Kompilację mogę przeprowadzić tylko jeżeli program ten jest w katalogu
C:\Program Files (x86)/Java\jdk1.8.0_121\bin
Po kompilacji stworzył się w powyższym katalogu HelloWorld.class
Wywołując "java HelloWorld" otrzymuję poniższy błąd
Error: Could not find or load main class HelloWorld
W załączniku przesyłam zrzut z cmd windows
Jestem całkowitym laikiem i korzystam tylko z wiersza poleceń

W jaki sposób mogę robić kompilację programów umieszczonych np w katalogu Moje Dokumenty?
Próbowałem zainstalować Eclipsa ale mimo że posiadam zainstalowaną wersję Javy 1.8 za każdym razem chce abym pobrał wersję wyższą lub równą 1.7 tak jakby nie widział że mam już zainstalowaną wymaganą wersję Javy.
Z góry dziękuję za pomoc.

0

Chcesz kompilować pliki z innych katalogów to podajesz do nich pełną ścieżkę, albo ustawiasz sobie kompilator na ścieżce. Żeby eclipse widział jave musisz mu ją ustawić. Jeśli chodzi o błąd to pewnie nie masz publicznej klasy która nazywa się HelloWorld.

0

Najważniejszy jest kod klasy, a tego nie podałeś. Bez niego nie powiemy Ci co jest nie tak. Wrzuć go na jakiegoś pastebina.

Spróbuj środowisko IntelliJ IDEA. Podstawowa wersja jest darmowa, a jest dużo lepsza niż eclipse. Ręczna kompilacja jest niepraktyczna, więc najlepiej zainstalować to IDE i próbować w nim. Jeżeli popełnisz błędy, to ono nie tylko podpowie gdzie, ale zasugeruje rozwiązania.

1

Tak jak bylo mowione IDEA > Eclipse > terminal

A zeby z wiersza polecen wykonywac javac i java to musza byc ustawione zmienne path (google)

0

Dzięki za odpowiedzi acz zdecydowanie mało rozumiem :(

Podstawowy program z książki,

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

Stworzył się plik HelloWorld.class i dalej cisza

Nie mogę nawet rozpocząć instalacji eclipse ponieważ od razu przerzuca mnie na przeglądarką i "każe" pobrać Javę, która już mam.

0

Nie wiem skąd się wziął taki dziwny użytkownik w moim poście :(
Ponawiam więc wpis.

Dzięki za odpowiedzi acz zdecydowanie mało rozumiem :(

Podstawowy program z książki,

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

Stworzył się plik HelloWorld.class i dalej cisza

Nie mogę nawet rozpocząć instalacji eclipse ponieważ od razu przerzuca mnie na przeglądarką i "każe" pobrać Javę, która już mam.

0

Co to znaczy, że dalej cisza?

0

Czyli dostaję błąd jak napisałem w pierwszym poście

0

A bo nie zrobiłeś klasy public

0

hm... ale nie wiem gdzie
w jednym podręczniku był opis
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
można skompilować ale błąd jest taki sam :(

1

Wygląda, że masz złą wartość zmiennej środowiskowej CLASSPATH. Możesz ja wyświetlić poleceniem set CLASSPATH. Sugeruję odinstalowanie i ponowne zainstalowanie JDK.
Dla sprawdzenia hipotezy uruchom program tak: java -cp . HelloWorld (zwróć uwagę na kropkę)

1

@szweszwe, klasa startowa nie musi być public.

0

Tak jak podałeś to programy się wykonują

0

Kolej na podjęcie decyzji:

  • odinstalowanie i zainstalowanie na nowo, może tym wartości zmiennych środowiskowych PATH i CLASSPATH będą poprawne,
  • Panel sterowania => System => ... Zmienne środowiskowe i wpisanie odpowiednich wartości.
0

Program się wykonuje przy podanej przez Ciebie sekwencji "java -cp . HelloWorld" jak jest plik w katalogu c:\Programs Files (x86)\Java\jdk1.8.0_121\bin
Ale nie wykonuje się gdy plik jest w katalogu Moje dokumenty gdy podaję pełną ścieżkę
Kompilacja się robi ale potem program się nie wykonuje.

0

Dotarłem do zmiennych środowiskowych ale nie wiem jak powinny być poprawnie opisane.

0

Nazwa parametru -cp , to skrót od classpath. Zmienna classpath powinna zawierać listę katalogów rozdzielonych (w windowsie) średnikiem. Polecenie java -cp C;/jasiu;stasiu;. nazwaKlasy nakazuje szukanie klasy w trzech katalogach C;/jasiu, stasiu i w katalogu bieżącym (kropka to katalog bieżący).
Zmienna PATH: c:\Program Files\java\jdk1.8.0_131\bin\ (katalog z Javą musisz wziąć od siebie).
U mnie zmienna CLASSPATH wygląda tak: CLASSPATH=C:\WINDOWS\java\classes;..

0

@Hosted:
Spróbuj nieco od rzyci strony - odpal wiersz poleceń i wpisz java, a następnie javac. Jeśli masz coś podobnego do tego na tym obrazku , to zmienne środowiskowe powinny być OK.

0

Ja na Linux Mint takich problemów nie mam, od razu mi kompiluje plik z IDE.

0

mam dokładnie tak samo jak na Twoim obrazku

0

Wpisałem w wierszu poleceń i mam wynik taki sam jak na Twoim obrazku

Co do ustawienia path i classpath to wpisałem w patch ścieżkę do javy ale w classpath nie mam pojęcia.
Po prostu nie rozumiem :(

0

Wypróbuj minimalizm, wpisz . (kropka, tzn. katalog bieżący).
Po zmianie zmiennych środowiskowych musisz ponownie otworzyć konsolę.

0

Z ciekawości sprawdziłem na swojej Windzie (10 64 bit). Path ustawione jak u Ciebie (c:\Program Files\Java\jdk+cyferki\bin), javac Helloworld.java i java HelloWorld działają poprawnie niezależnie od umiejscowienia rzeczonego pliku java.
Jesteś na 100% pewien, że nie popełniłeś jakiegoś drobnego błędu przy przepisywaniu kodu?

0

@Serechiel, przeczytaj wątek, Problemem jest zmienna CLASSPATH, a nie PATH.

0

Mam w opisie Classpath poniższy wpis
%TRILOGY_CORECLASSPATH%;%TRILOGY_CFGVIEWSCLASSPATH%;%TRILOGY_CFGVIEWSJVMPATH%
Czy po średniku powinienem dopisać
%java -cp c:\ .%

0

Nie, po średniku samą kropkę.

0

Dzięki wielkie.
Zadziałało.

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