2014-06-20 5 views
7

Niedawno poznałem Sublime Text 3 i próbowałem uruchomić w nim Javę.Jak uruchomić Javę za pomocą Sublime Text 3 na Mac OS

Mam zmodyfikowany JavaC.sublime-build w pakiecie, Java.sublime-package.

JavaC.sublime-build:

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

Mam skrypt (runJava.sh) jak poniżej, i umieścić go w folderze bin Java.

runJava.sh:

[ -f "$1.class" ] && rm $1.class 
for file in $1.java 
do 
echo "Compiling $file........" 
javac $file 
done 
if [ -f "$1.class" ] 
then 
echo "-----------OUTPUT-----------" 
java $1 
else 
echo " " 
fi 

Java folderu bin:

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin 

Jednak, kiedy zbudować plik java, mam komunikat o błędzie, że ....

[Errno 2] No such file or directory: 'runJava.sh' 
[cmd: ['runJava.sh', 'Test']] 
[dir: /Users/xxxxxxx/Desktop] 
[path: /usr/bin:/bin:/usr/sbin:/sbin] 
[Finished] 

Nie mam pojęcia, dlaczego ta wiadomość się wyświetliła, ponieważ runJava.sh znajduje się we właściwym miejscu, czyli w folderze bin Java.

Jaka jest przyczyna tego problemu?

Odpowiedz

0

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin nie znajduje się na ścieżce Sublime, jak wskazuje komunikat o błędzie. Są dwa sposoby na obejście tego. Pierwszym z nich jest przeniesienie runJava.sh do /usr/bin lub utworzenie tam dowiązania symbolicznego. Drugi jest zmiana pliku JavaC.sublime-build tak:

{ 
    "cmd": ["runJava.sh", "$file_base_name"], 
    "path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin:$PATH", 
    "shell": true, 
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)", 
    "selector": "source.java" 
} 

Dodaje folder Java bin do Sublime na PATH gdy system build jest wykonywany tak, że można go znaleźć runJava.sh. Dodanie "shell": true uruchamia polecenie przez bash, co pozwoli mu na pobranie innych zmiennych środowiskowych.

+0

Test: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/runJava.sh: Permission denied [Ukończony w 0.0 z kodem wyjścia 126] [cmd: ['runJava.sh', 'Test']] [katalog:/Users/xxxxx/Desktop] [ścieżka:/usr/bin:/bin:/usr/sbin:/sbin] – styner

+0

Dziękuję za komentarz, ale pojawił się kolejny komunikat o błędzie opisany powyżej. Odmowa pozwolenia. Co mam zrobić? – styner

2

I zmodyfikowane kopalnię być jak ten

uruchomić zrobić Ctrl + Shift + B

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

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

Działa w sublime-text-3 w moim Mac Air. Dzięki. –

12

To dlatego, że nie mają zmodyfikować pakiet plików bezpośrednio z edytora. Są to pliki zip, mimo że nie mają rozszerzenia, aby ostrzec użytkownika.

Aby zmodyfikować wtyczkę, należy przejść do/Packages i rozpakować plik pakietu Java.sublime. Użyję składni linux ale procedura jest taka sama:

cd <sublime-text3-folder>/Packages 
mkdir java 
cp Java.sublime-packages java 
cd java 
unzip Java.sublime-packages 

Następnie użyj edytora zmodyfikować JavaC.sublime-build, aby dodać następujące wiersze (don”zapomnieć dodatkowy przecinek po ostatnim wierszu

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

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

zip ponownie zawartość w Java.sublime-pakiet i umieścić go z powrotem w folderze pakietu poprzez:

zip Java.sublime-package * cp Java.sublime-pakiet ..// Pakiety

Restart wzniosłe i teraz razem z Ctrl + B, aby zbudować swój projekt będzie można uruchomić go z Ctrl + B + Mayus

+1

Utworzyłem nowy system kompilacji przy użyciu Narzędzia> Utwórz system> Nowy system kompilacji> i wkleiłem skrypt do untitled.sublime-build. Następnie zapisano go jako java.sublime-build i zapisano pod adresem ./config/sublime-text-3/Packages/User. Teraz pojawia się jako system kompilacji w Narzędzia> Kompilacja systemu i kompilacje Ctrl + B, a Ctrl + Shift + B uruchamiają programy java. –

+0

po ustawieniu, upewnij się, że naciśniesz 'Ctrl + Shift + B', aby ponownie uruchomić' JavaC'. Następnie, zakładając, że udało się go zbudować, naciśnij go ponownie, tym razem wybierając 'JavaC Run'. Od tego momentu wystarczy nacisnąć 'Ctrl + B', aby uruchomić. – ecoe

+0

Dzięki. Zmieniłem ustawienia jak poniżej, dzięki czemu jesteśmy w stanie zbudować i uruchomić plik java z jednego typu (Command + B) { "cmd": [ "Java", "$ file_base_name"], \t " file_regex ":"^* \\ [javac \\] (.+): ([0-9] +) :() (. *) $ ", \t" selektor ":" source.java " } –

6

Istnieje wiele rozwiązań tam, że niby powiedzieć to samo, bez dostarczania krok po kroku. Tak tu było moje doświadczenie na Mac'16 z Sublime Text 3:

Otwórz okno terminala i wykonaj następujące czynności:

$ cd/Applications/Sublime \ Text.app/Contents/MacOS/Packages/

Utworzono katalog tymczasowy, z którym można wywoływać bałagan.

$ mkdir java

Kopiowanie prąd Java.sublime-pakiet w nowym java katalogu i cd do java.

$ cp Java.sublime-pakiet java/

$ cd java

Następnie rozpakuj pakiet widzieć zawartość:

$ rozpakować Java.sublime- pakiet

Teraz edytuj plik kompilacji, JavaC.sublime-build. Jeśli masz skrypt wiersza poleceń Sublime tekstowego:

$ subl JavaC.sublime-zbudować

Inaczej

$ vi JavaC.sublime-zbudować

Następnie Skopiowałem następujący tekst do mojego JavaC.sublime-build, który znalazłem tutaj opublikowany przez Sean Mullen:

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

Po tym zaoszczędzić, a jednocześnie wewnątrz Jawa Typ katalogu:

$ zip Java.sublime-pakiet *

Move nowy build pakiet niezbędnych do folderu (katalogu nadrzędnego):

$ mv Java.sublime-pakiet ../

Usuń temp java katalogu :

$ rm -fr java/

I ZROBIONE. Teraz budowanie pliku Java będzie również próbowało go uruchomić. Wolę to zachowanie, zamiast robić kolejny "wariant", aby uruchomić program.

+0

Musisz zrobić' cd ..' przed usunięciem tymczasowego folderu Javy – bumbu

+0

Dzięki! Działa jak urok! –

5

Łatwy krok po kroku:

  1. Install Package Control jeśli już

  2. Korzystanie kontrolnym have't zainstalować Package Resource Viewer

  3. Otwórz pakiet kontrolny, typ prv i run PackageResourceViewer: Open Resource

  4. Wybierz Java

  5. Wybierz JavaC.sublime-build

  6. Wymień definicję budować JSON z poniższym bloku kodu dokładnie

  7. skończysz! ctrl+b powinien teraz skompilować i uruchomić plik Java.

definicja budowy JSON:

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