Program napisany w Eclipse nie dziala w konsoli

Program napisany w Eclipse nie dziala w konsoli
Reiko
  • Rejestracja:ponad 19 lat
  • Ostatnio:ponad 4 lata
0

Witam,
zaczynam naukę Java i korzystam z książki Core Java 2 - Podstawy. Na początku kod pisałem w Notepad++. Kod kompilowałem poleceniem "javac" i odpalałem poleceniem "java". Wszystko działało.

Jednak aby zrezygnować z łopatologii przy wpisywaniu komend w konsolę i zabawie z plikami zainstalowałem Eclipse. Trochę godzin minęło aby ogarnąć podstawy w tym środowisku ale przyswoiłem niezbędne minimum. Problem w tym że o ile program w Eclipse uruchamia się w tym środowisku (na dole w konsoli środowiska) o tyle nie uruchamia się za pomocą konsoli Windows (kompilacja przebiega pomyślnie ale gdy chcę odpalić program poleceniem "java" otrzymuję komunikat "Error: Could not find or load main class Glowna"). O co chodzi? Wklejam ten kod:

Kopiuj
package siemanko;

public class Glowna {
	public static void main(String args[])
	{
		System.out.print("Siemanko!");
	}

}

Załączam też strukturę plików:
https://ibb.co/kHY4Yd

KR
  • Rejestracja:ponad 8 lat
  • Ostatnio:15 dni
  • Postów:166
0

edytowany 1x, ostatnio: krsp
KR
  • Rejestracja:ponad 8 lat
  • Ostatnio:15 dni
  • Postów:166
0

Pewnie nie używasz parametru classpath i/lub nie podajesz ścieżki pakietu.
Żeby uruchomić program, to też musi być skompilowany i uruchamiany z plików class (gdzieś pewnie masz potworzone te class'y przez eclipse)
https://en.wikipedia.org/wiki/Classpath_(Java)

jarekczek
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Siemianowice Śląskie
  • Postów:500
1

Ustaw się w katalogu, w którym masz katalog siemanko, a w nim plik Glowna.class. Wtedy polecenie

java -cp . siemanko.Glowna

powinno zadziałać.


Przeważnie ignoruję niezarejestrowanych użytkowników.
Reiko
  • Rejestracja:ponad 19 lat
  • Ostatnio:ponad 4 lata
0

Dzięki @jarekczek :)

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.