Kompilowanie i uruchamianie kodu Java w Sublime Text 2

80

Próbuję skompilować i uruchomić kod Java w Sublime Text 2. Nie mów mi tylko, żebym robił to ręcznie w wierszu polecenia. Czy ktoś może mi powiedzieć, jak?

Przy okazji, jestem na Windows 7 ...

tolluy
źródło
4
Wydaje się, że na wysublimowanych forach można znaleźć odpowiedzi na to pytanie: sublimetext.com/forum/viewtopic.php?f=3&t=4805 , sublimetext.userecho.com/topic/…
szaleństwo3
już je wypróbowałem ... Otrzymuję to: [Błąd 2] System nie może znaleźć określonego pliku [Zakończono]
tolluy
2
Ten problem został rozwiązany w postach na forum. Myślę, że musisz dodać java i javac do swojej PATH.
szaleństwo3
W moim przypadku, gdy próbowałem tylko zbudować i uruchomić pojedynczy plik java w Sublime Text 3 beta w systemie Windows 7 za pomocą jednego polecenia Ctrl + B, umieszczając następujące polecenie w „<Sublime Text 3> \ Packages \ Java \ JavaC.sublime -build ”plik (utworzony folder / plik, który nie istniał) działał. W razie potrzeby zmień katalog bin Java. {"cmd": ["javac", "$ nazwa_pliku", "&&", "java", "$ nazwa_bazy_pliku"], "powłoka": prawda, "ścieżka": "C: \\ Program Files (x86) \ \ Java \\ jdk1.8.0_05 \\ bin "," file_regex ":" ^ (... *?): ([0-9] *):? ([0-9] *) "," selector " : "source.java"}
Lal
1
Dla przypomnienia, żadna z poniższych odpowiedzi nie wydaje się wspierać niczego bardziej skomplikowanego niż podstawowy typ programu Hello-World. Każdy program, który ma zewnętrzne importy i wymaga ustawienia CLASSPATHi / lub przekazania cpprzełącznika dla projektu, nie będzie działał. Musiałbyś albo zmodyfikować system kompilacji za każdym razem, gdy chcesz pracować nad innym projektem, albo znaleźć inne rozwiązanie (tylko socjopata-masochista CLASSPATHza każdym razem modyfikowałby zmienną na poziomie systemu operacyjnego).
Synetech

Odpowiedzi:

77

To właśnie dodałem do pliku JavaC.sublime-build

{
    "cmd": ["javac", "-Xlint", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",

    "variants": [

        { "cmd": ["javac", "-Xlint", "$file"],
          "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
          "selector": "source.java",
          "name": "Java Lintter"
        },  

        { "cmd": ["java", "$file_base_name"],
          "name": "Run Java"
        }
    ]
}

Powoduje to, że tworzy warianty zwykłego polecenia kompilacji ( ctrl+b). Dzięki ctrl+ bnadal będziesz mógł skompilować swój kod. Jeśli zrobisz shift+ ctrl+, bzostanie wykonany pierwszy wariant, którym w tym przypadku jest javac z opcją -Xlint. Drugim i ostatnim wariantem jest sama komenda java. możesz umieścić to jako swój pierwszy wariant, a shift+ ctrl+ bfaktycznie wykona kod java.

Zauważ też, że każdy wariant jest „nazwą”. To w zasadzie pozwala, aby ta konkretna opcja „budowania” pojawiła się w opcji shift+ ctrl+ p. Więc używając tej konfiguracji, możesz po prostu zrobić shift+ ctrl+ pi wpisać „Uruchom Javę” i nacisnąć enter, a twój kod zostanie wykonany.

Mam nadzieję, że to pomogło.

vijay
źródło
10
Jeśli chcesz użyć ctrl + shift + b do uruchomienia, zmień pole „name” na „Run”.
mtyurt
4
Zmieniło się to dla ST3: * zamień "cmd" na shell_cmd * usuń nawiasy klamrowe * umieść całe polecenie w łańcuchu
Dagoth Ulen
1
+1 Jak mówi dokumentacja ST build-system , polecenia budujące niekoniecznie muszą kompilować plik, mogą uruchamiać wszystko, w tym skompilowany program. Tak więc ta odpowiedź jest poprawnym sposobem kompilacji i uruchamiania Javy z ST (2) bez użycia wiersza poleceń. (W rzeczywistości TextPad ma podobną zdolność do definiowania i uruchamiania dowolnych programów i ma wbudowaną obsługę języka Java, aby umożliwić
przypisanie
dzięki za to zadziałało. i dzięki @mtyurt, zmieniono Run Javana Runi teraz naciskam ctrl+shift+bwykonywanie programu.
Nishant Bhakta
A gdzie można znaleźć *.sublime-buildplik?
Aditya Gupta
19

Uważam, że metoda w poście Kompiluj i uruchamiaj programy Java z Sublime Text 2 działa dobrze i jest nieco wygodniejsza niż inne metody. Oto link do zarchiwizowanej strony.

Dla Windowsa:

Krok 1:

Utwórz runJava.batza pomocą następującego kodu.

@ECHO OFF
cd %~dp1
ECHO Compiling %~nx1.......
IF EXIST %~n1.class (
DEL %~n1.class
)
javac %~nx1
IF EXIST %~n1.class (
ECHO -----------OUTPUT-----------
java %~n1
)

Skopiuj ten plik do katalogu bin jdk.

Krok 2:

  1. Otwórz katalog pakietów Sublime za pomocą opcji Preferencje> Przeglądaj pakiety.
  2. Przejdź do folderu Java
  3. Otwarte JavaC.sublime-build i zastąpić linię
    "cmd": ["javac", "$file"],
    z
    "cmd": ["runJava.bat", "$file"],

Gotowe!

Pisz programy i uruchamiaj za pomocą CTRL + B

Uwaga : instrukcje dla Sublime 3 są inne.

vancexu
źródło
15

Sublime Text 3 ma nieco inne rozwiązanie. To modyfikacja odpowiedzi Vijaya, z której wcześniej korzystałem.

 {
     "shell_cmd": "javac -Xlint \"${file}\"",
     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
     "working_dir": "${file_path}",
     "selector": "source.java",

     "variants":
     [
          {
               "name": "Run",
               "shell_cmd": "java \"${file_base_name}\""
          }
     ]
 }

Wklej powyższe do nowego pliku o nazwie JavaC.sublime-buildi umieść go w swoich pakietach użytkownika. Można to znaleźć w C:\Users\You\AppData\Roaming\Sublime Text 3\Packages\User.

Ctrl-B skompiluje się. Uruchomi się Ctrl-Shift-B.

Rokit
źródło
2
Dobra robota. Działa to również na Linuksie, chociaż nie potrzebowałem dodatkowych podwójnych cudzysłowów i wiodącego symbolu ucieczki. = :). Ale to działa. Dzięki.
NYCeyes
8

Ta wersja JavaC.sublime-build, która jest redagowana na podstawie odpowiedzi vijay, działa dla mnie zarówno na Windows 7, jak i na Mac dla Sublime Text 3.

Edytowałem go, więc Ctrl + b lub command + b jest wystarczające dla obu build + run.

{
"shell_cmd": "javac -Xlint $file && java $file_base_name",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"shell": true
}

„&&” zapewnia, że ​​druga część zostanie uruchomiona tylko wtedy, gdy pierwsza zakończy się pomyślnie, tj. tylko wtedy, gdy zostanie wygenerowany plik klasy. Więcej powiązanych informacji można znaleźć tutaj: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true

Alex Yao
źródło
1
To rozwiązanie działa na Sublime Text 2 zbyt jeśli zastępując shell_cmdz cmd. To jedyne rozwiązanie, które u mnie zadziałało. Dziękuję Ci.
Andritchi Alexei
7

skompilować i uruchomić zgodnie z dokumentacją wysublimowanego tekstu 2 i 3

krok 1: ustaw zmienne środowiskowe dla java, jak już wiesz, lub gdzieś się odwołaj

strp-2: otwórz nowy dokument i skopiuj poniższy kod wklejania

{
"cmd": ["javac", "$file_name", "&&", "java", "$file_base_name"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.java",
"shell":true }

krok 3: zapisz dokument jako userjavaC.sublime-build w katalogu C: \ Users \ myLapi \ AppData \ Roaming \ Sublime Text 3 \ Packages \ User

krok 4:

po zakończeniu wybierz jako narzędzia-> buduj systemy-> userjavaC

aby skompilować i uruchomić naciśnij ctrl + b

saroj
źródło
6

Używam Windows 7. Poniższe rozwiązanie działa dla mnie!

**Open** the file JavaC.sublime-build and replace all the code in the file with the code below:

{
 "cmd": ["javac", "$file_name","&&","java", "$file_base_name"],
 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
 **"path": "C:\\Program Files\\Java\\jdk1.6.0\\bin\\",**
 "selector": "source.java",
 "shell": true
 }

Pamiętaj, aby zastąpić „C: \ Program Files \ Java \ jdk1.6.0 \ bin \” ścieżką, w której umieściłeś swój jdk. I pamiętaj, aby dodać ścieżkę do JDK Java do zmiennej środowiskowej „PATH”. Zapoznaj się z postem bunnyDrug, aby skonfigurować zmienną środowiskową. Najlepsza!!

Sam003
źródło
3

Skorzystaj z rozwiązania pod adresem : http://www.compilr.org/compile-and-run-java-programs/

Mam nadzieję, że to rozwiązuje, zarówno w przypadku kompilowania, jak i uruchamiania klas w sublime ..... Możesz zobaczyć mój skrypt w sekcji komentarzy, aby wypróbować go w przypadku mac ...

EDYCJA: Niestety powyższy link jest teraz uszkodzony. Zawierał szczegółowo wszystkie kroki wymagane do kompilowania i uruchamiania Java w wysublimowanym tekście. W każdym razie w przypadku systemów Mac lub Linux poniższe powinny działać:

zmodyfikuj plik javac.sublime-build na:


#!/bin/sh

classesDir="/Users/$USER/Desktop/java/classes/"
codeDir="/Users/$USER/Desktop/java/code/"
[ -f "$classesDir/$1.class" ] && rm $classesDir/$1.class
for file in $1.java
do
echo "Compiling $file........"
javac -d $classesDir $codeDir/$file
done
if [ -f "$classesDir/$1.class" ]
then
echo "-----------OUTPUT-----------"
java -cp $classesDir $1
else
echo " "
fi

Tutaj utworzyłem folder o nazwie „java” na pulpicie i podfoldery „classes” i „code” do obsługi odpowiednio plików .class i .java, które możesz modyfikować na swój własny sposób.

Bhavesh Agarwal
źródło
Link jest uszkodzony, co powiedział?
ninMonkey
2

Jak opisano szczegółowo tutaj:

http://sublimetext.userecho.com/topic/90531-default-java-build-system-update/

Kroki, które podjąłem, aby temu zaradzić

  1. Kliknij Start

  2. Kliknij prawym przyciskiem myszy „Komputer”

2.5 Kliknij Właściwości.

  1. Po lewej stronie wybierz „Zaawansowane ustawienia systemu”

  2. U dołu kliknij „Zmienne środowiskowe”

  3. Przewiń w dół „Zmienne systemowe”, aż znajdziesz „ŚCIEŻKĘ” - kliknij edytuj przy zaznaczonej opcji.

  4. Dodaj ścieżkę do folderu bin Java. Mój kończy się tak:

    KOD: WYBIERZ WSZYSTKO

    ; C: \ Program Files \ Java \ jdk1.7.0_03 \ bin \

jgritty
źródło
to nie działa, klikam Start, klikam prawym przyciskiem Komputer i nic nie widzę, tylko jedno menu, nie podwójne ... i śledziłem samouczki Newbostons, więc już zrobiłem rzeczy PATH
tolluy
2

W przypadku Sublime Text 3
w "C: \ Program Files \ Sublime Text 3 \ Packages" otrzymujesz pakiet java.sublime-skopiuj go do innego folderu zmień jego rozszerzenie z .sublime-package na zip i wyodrębnij otrzymujesz JavaC.sublime-build plik do modyfikacji, jak powyżej.
po wszystkich modyfikacjach rozpakowany folder java ponownie przekonwertuj do .zip i zmień jego rozszerzenie .zip na .sublime-package. następnie skopiuj i wklej ten plik do C: \ Program Files \ Sublime Text 3 \ Packages.
to ci pomoże!

(nawet jeśli masz mój plik z http://upfile.mobi/363820 lub http://www.4shared.com/file/73SkzY-Kba/Java.html link, którego używam do uruchamiania kodu java, używam sztuczki „Wesley Baugh więc musisz skopiować plik runJava.bat do katalogu C: \ Program Files (x86) \ Java \ jdk1.8.0 \ bin, jak mówi. i skopiuj powyższy połączony plik do C: \ Program Files \ Sublime Text 3 \ Packages )

Bhushan Balu Sahane
źródło
2

Możesz kompilować i uruchamiać swój kod w całości w ST i jest to bardzo szybkie / proste. Istnieje niedawny pakiet ST o nazwie Javatar, który może to zrobić. https://javatar.readthedocs.org

Keng
źródło
2

To jest kod do kompilacji i uruchamiania java w wysublimowanym tekście 3

"shell_cmd": "javac -d. $ file && java $ {file_base_name}. $ {file_base_name}", "shell": true

Yesid Torres
źródło
1

Śledziłem post w tym wątku i sprawiłem, że działa idealnie:

Utwórz plik bat w następujący sposób i zapisz go w dowolnym miejscu w PATH. Proponuję C: \ Program Files \ Java \ jdk * \ bin \, aby wszystko było razem.

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

następnie edytuj C: \ Users \ twoja_nazwa_użytkownika \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-build, zawartość będzie

{
   "cmd": ["javac", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

zamień „javac” na nazwę pliku bat (na przykład javacexec.bat) i zapisz go.

AsyncMoksha
źródło
1

Postępując zgodnie z poniższymi krokami, będziesz miał 2 systemy budowania w wysublimowanym - „JavaC” i „JavaC_Input”.

„JavaC” pozwala na uruchamianie kodu, który nie wymaga wprowadzania danych przez użytkownika i wyświetlanie wyników w symulatorze terminala Sublime, który jest wygodny i ładnie wyglądający. „JavaC_Input” umożliwia uruchamianie kodu, który wymaga wprowadzenia danych przez użytkownika w osobnym oknie terminala, jest w stanie zaakceptować dane wejściowe użytkownika. Możesz również uruchomić kod niewymagający danych wejściowych w tym systemie kompilacji, więc jeśli nie masz nic przeciwko wyskakującym okienkom, możesz po prostu trzymać się tego systemu kompilacji i nie przełączać się. Możesz przełączać się między systemami kompilacji w menu Narzędzia -> Buduj system. I kompilujesz i uruchamiasz kod za pomocą ctrl + b.

Oto kroki, aby to osiągnąć:

(uwaga: upewnij się, że masz już podstawową konfigurację systemu java: zainstaluj JDK i skonfiguruj poprawną CLASSPATH i PATH, nie będę się tym rozwodził)

Konfiguracja systemu budowania „JavaC”

1, utwórz plik bat z następującym kodem i zapisz go w C: \ Program Files \ Java \ jdk * \ bin \, aby wszystko było razem. Nadaj plikowi nazwę „javacexec.bat”.

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

2, Następnie edytuj C: \ Users \ twoja_nazwa_użytkownika \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-build (jeśli nie ma, utwórz ją), zawartość będzie

{
   "cmd": ["javacexec.bat", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

Konfiguracja systemu budowania „JavaC_Input”

1, zainstaluj Cygwin [ http://www.cygwin.com/]

2, przejdź do C: \ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \, a następnie utwórz plik o nazwie „JavaC_Input.sublime-build” z następującą zawartością

{
"cmd": ["javacexec_input.bat", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}

3, utwórz plik bat z następującym kodem i zapisz go w C: \ Program Files \ Java \ jdk * \ bin \, aby wszystko było razem. Nazwij plik „javacexec_input.bat”.

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1
Mathew Gillroy
źródło
1
{
"shell_cmd": "javac -Xlint  \"${file}\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"working_dir": "${file_path}",
"selector": "source.java",

"variants": [

    { "shell_cmd":"javac -Xlint  \"${file}\" && java $file_base_name  < input.txt > output.txt",
      "name": "Run"
    }
   ]
}

zapisz tę wysublimowaną kompilację i uruchom program za pomocą ctrl + shift + B z uruchomionym wariantem. bez uruchomionego wariantu po prostu utworzy plik .class, ale go nie uruchomi.

Ta kompilacja odczyta dane wejściowe z input.txt i wydrukuje dane wyjściowe w output.txt.

Uwaga : pliki input.txt i output.txt muszą znajdować się w tym samym katalogu roboczym, co plik .java.

akhil
źródło
0

Najpierw zainstaluj JDK / JRE.

Jeśli jesteś użytkownikiem Maca, wykonaj następujące czynności:

otwórz terminal, przejdź do słownika głównego, wpisując

Płyta CD ..

wielokrotnie. posługiwać się

ls

aby zobaczyć, czy dotarłeś do korzenia

zobaczysz folder Library Teraz podążaj tą ścieżką Library / Java / JVM / bin Po wejściu do bin możesz zobaczyć plik JavaC

Teraz musisz uzyskać ścieżkę do tego folderu, po prostu napisz to polecenie

pwd

Skopiuj, wklej go do swojego wysublimowanego pliku JavaC i zbuduj kod Java w sublime przez cmd + b.

nimish parikh
źródło
0

Odpowiedź Alexa Yao to najprostsze rozwiązanie, jeśli chcesz tylko zbudować i uruchomić program Java bez pobierania jakichkolwiek danych wejściowych z konsoli, skorzystaj z rozwiązania dostarczonego przez Alexa Yao . Jeśli jednak chcesz pobrać dane wejściowe z konsoli, skorzystaj z następującego łącza

Wejście konsoli Java w Sublime Text 2?

Mohit Dasariya
źródło
0

To jest moje, używając wysublimowanego tekstu 3. Potrzebowałem opcji, aby otworzyć wiersz polecenia w nowym oknie. Kompilacja Java jest używana z -Xlintopcją włączenia pełnych komunikatów ostrzeżeń w Javie.

Zapisałem plik w folderze pakietu użytkownika jako Java (Build) .sublime-build

{
     "shell_cmd": "javac -Xlint \"${file}\"",
     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
     "working_dir": "${file_path}",
     "selector": "source.java",
     "variants":
     [
          {
               "name": "Run",
                "shell_cmd": "java \"${file_base_name}\"",
          },
          {
               "name": "Run (External CMD Window)",
               "shell_cmd": "start cmd /k java \"${file_base_name}\""
          }
     ]
}
moyarich
źródło
0

JavaC Build System działa jak urok, ale zawodzi, gdy chcesz wprowadzić dane wejściowe ze standardowego wejścia w Sublime-text. Ale możesz edytować system kompilacji, aby odbierał dane wejściowe od użytkownika. To jest zmodyfikowana kompilacja JavaC, której używam w systemie Ubuntu 18.04 LTS. Możesz edytować system kompilacji lub utworzyć nowy system kompilacji.

Aby utworzyć nowy system kompilacji.

  • Idź do Narzędzia >> Buduj system >> Nowy system budowania .
  • Kopiuj Wklej poniższy kod i Plik >> Zapisz .

    {

    "shell_cmd": "javac \"$file\"",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "variants": 
    [
        {
            "shell_cmd":"bash -c \"javac $file\" && gnome-terminal -- bash -c \"java $file_base_name ;read\"", 
            "name": "Run"
        }
    
    ]    
    

    }

Aby edytować istniejący plik kompilacji Java C.

Raghav
źródło
0

Oto jak to zrobiłem, wykonując te proste kroki:

Skonfiguruj nowy system kompilacji:

  1. Narzędzia> Buduj system> Nowy system budowania

  2. Zastąp kod domyślny następującym:

    {
       "cmd": ["javac","$file_name","&&","java","$file_base_name"], 
       "path": "C:\\Program Files\\Java\\jdk1.7.0_25\\bin\\", 
       "shell": true
    }
    // locate the path of your jdk installation and replace it with 'path' 
    
  3. Zapisz plik, nadając mu nazwę (moja nazwa to „Java”)

Aktywuj system kompilacji:

  1. Narzędzia> Buduj system> Java (nazwa pliku, w którym go zapisałeś)
  2. Teraz uruchom program za pomocą Ctrl + B
Ahtisham
źródło