Polecenie javac - problem.

0

Witam, to mój pierwszy post, w którym chcę poprosić Was o pomoc. W konsoli wpisuję sobie

javac Hello.java

A dostaję:

Nazwa "javac" nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy

Mój kod to:

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

Mam pobrany Ten JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
No i czemu mi to nie działa?
Dodam, że w eclipsie wszystkie programiki ładnie chodzą.
PS. Jak już piszę posta, to jeszcze jedna rzecz: Jak zrobię jakiś programik w Swing'u, chociażby prosty przycisk i eclipsem eksportuję go do wykonywalnego jar'a to jak kliknę 2 razy tego jara to mi się włącza. A jak zrobię prosty program terminalowy, chodźby taki jak wyżej i eksportuję go do jara, to gdy kliknę go 2 razy nic się nie dzieje. Czy można coś temu zaradzić? Chciałbym odpalać program bezpośrednio, a nie z eclipse'a/terminala.

Z góry dzięki wszystkim za pomoc.

1
Kamil KD napisał(a):

Witam, to mój pierwszy post, w którym chcę poprosić Was o pomoc. W konsoli wpisuję sobie

javac Hello.java

A dostaję:

Nazwa "javac" nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy

Mój kod to:

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

Mam pobrany Ten JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
No i czemu mi to nie działa?
Dodam, że w eclipsie wszystkie programiki ładnie chodzą.
PS. Jak już piszę posta, to jeszcze jedna rzecz: Jak zrobię jakiś programik w Swing'u, chociażby prosty przycisk i eclipsem eksportuję go do wykonywalnego jar'a to jak kliknę 2 razy tego jara to mi się włącza. A jak zrobię prosty program terminalowy, chodźby taki jak wyżej i eksportuję go do jara, to gdy kliknę go 2 razy nic się nie dzieje. Czy można coś temu zaradzić? Chciałbym odpalać program bezpośrednio, a nie z eclipse'a/terminala.

Z góry dzięki wszystkim za pomoc.

Dodaj sobie zmienna path. Komputer > właściwości > zaawansowane ustawienia systemu > zmienne środowiskowe. Tam jest zmienna path (W systemowych zmiennych. Jeśli jej nie ma, utwórz ja). Na sam koniec, jesli jest średnik to ok , jeśli nie to go dodaj. Po tym skopiuj i wklej tam ścieżkę do javapth. U mnie to: "C:\ProgramData\Oracle\Java\javapath". A propos tego eksportowania do jara i terminala. Gdy masz apke w terminalu, to nie odpalisz jej w jarze.

1

Kod jest OK, jedynym problemem jest brak zmiennych środowiskowych.

Przeczytaj ten poradnik

0

Ok znalazłem tą zmienną, tylko nie wiem co tam wkleić... jak wchodzę w program files, potem java, potem jdk 9.0.1 i tam mam tylko katalogi bin conf include jmods legal i lib... I co ja mam wkleić w to pole path?

1

W PATH wklejasz ścieżkę włączając katalog bin. Na przykład:

/usr/local/jdk1.8.0/bin
1

Przykładowo:

C:\Program Files\Java\jdk-9.0.1
0

Okej wkleiłem Program files, java jdk 9.0.1 bin i łądnie śmiga. Dzięęęki wszystkim
Jest tu jakiś przycisk pomógł?, bo szukam i znaleźć nie mogę...

0
PrezesiQ napisał(a):

A propos tego eksportowania do jara i terminala. Gdy masz apke w terminalu, to nie odpalisz jej w jarze.
A czy istnieje jakakolwiek opcja ułatwiająca życie z tym? czy tylko pisanie w Swingu? ;)

0

Twoja aplikacja (strzelam) zamyka się pewnie dlatego, że po wyświetleniu komunikatu nic jej nie zatrzymuje. Spróbuj skompilować taki kod i powiedz czy uruchamia się wtedy:


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello");
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();
    }
}

Co do zmiany w Eclipse to File > Properties > Java Build Path

0
Hispano-Suiza napisał(a):

Twoja aplikacja (strzelam) zamyka się pewnie dlatego, że po wyświetleniu komunikatu nic jej nie zatrzymuje. Spróbuj skompilować taki kod i powiedz czy uruchamia się wtedy:


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello");
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();
    }
}

Co do zmiany w Eclipse to File > Properties > Java Build Path

Bez zmian...

0

Aha, tylko ja w tym build path mam scieżkę do jre 1.8.0 a nie jdk... To to jre też można updatować?

0

Spróbuj uruchomić tego jara z CLI. Czy wyświetli cokolwiek w ten sposób?

java -jar twojplik.jar
pause
0

Jak wpiszę w konsole samo java -jar HelloWorld.jar to działa. Tylko ja to chciałem otwierać przez vezpośrednie klikniecie na plik jar...

0

To stwórz plik z rozszerzeniem *.bat (Windows) w tym samym katalogu co masz jara i wklej

java -jar HelloWorld.jar
1

Pliki jar w Windowsie są domyślnie skojarzone z programem javaw, który nie otwiera konsoli. Dla programów bez GUI jest to mało sensowne. Zmień skojarzenie - skojarz z programem java.

0

Jak programik jar skojarzyłem z java\jdk9.0.1\bin\java.exe to wywala mi jakiś błąd, który znika po ułamku sekundy. Również przy Swing'ach. Dobrą sciężkę podaję, czy coś innego ma być? Choć w sumie może gra niewarta świeczki... I tak każdy średnio profesjonalny program jest okienkowy...

1

Otwórz okno konsoli, wpisz (wklej) polecenie

java\jdk9.0.1\bin\java.exe -jar PewienJar.jar

i przeczytaj komunikat.

0

System nie może odnaleźć określonej ścieżki ;)

1

A masz taką ścieżkę na komputerze? Wystarczyło w poprzednim skojarzeniu usunąć jedną literę,ale, niestety, wykazałem się inwencją. Nie wiem jak w Exploratorze definiuje się skojarzenia i nie znam Twojego dysku. Podejrzewam, że ścieżka powinna wyglądać tak:

"C:\Program files\java\jdk9.0.1\bin\java.exe"

(cudzysłowy są ważne!).

0

Ścieżkę dałem swoją tylko nie było cudzysłowów... Jak dodałem cudzysłowy to otwiera się program konsolowy w terminal w tym samym oknie co pisałem komendy a Swing w nowym okienku. A jak ten sam plik java.exe dałem jako program domyślny do otwierania plików .jar to mi jakieś błędy sypało...

Coś próbuję doczytać to jakieś class not found exeption chyba... Ale z programem wszystko ok bo działa z konsoli...

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