Kompilieren und Ausführen von Java-Code in Sublime Text 2

80

Ich versuche, Java-Code in Sublime Text 2 zu kompilieren und auszuführen. Sagen Sie mir nicht einfach, dass ich dies manuell in der Eingabeaufforderung tun soll. Kann mir jemand sagen wie?

Übrigens bin ich auf Windows 7 ...

tolluy
quelle
4
Sublime Foren scheinen Antworten darauf zu haben: sublimetext.com/forum/viewtopic.php?f=3&t=4805 , sublimetext.userecho.com/topic/…
madth3
Ich habe diese bereits ausprobiert ... Ich
verstehe Folgendes
2
Dieses Problem wird in den Beiträgen im Forum gelöst. Sie müssen Ihrem Pfad Java und Java hinzufügen, denke ich.
madth3
In meinem Fall, in dem ich nur versucht habe, eine einzelne Java-Datei in Sublime Text 3 Beta unter Windows 7 mit einem einzigen Befehl Strg + B zu erstellen und auszuführen, habe ich Folgendes unter "<Sublime Text 3> \ Packages \ Java \ JavaC.sublime" eingefügt -build "Datei (erstellter Ordner / Datei, die nicht existiert) hat funktioniert. Ändern Sie Ihr Java-Bin-Verzeichnis nach Bedarf. {"cmd": ["javac", "$ file_name", "&&", "java", "$ file_base_name"], "shell": true, "path": "C: \\ Programme (x86) \ \ Java \\ jdk1.8.0_05 \\ bin "," file_regex ":" ^ (... *?): ([0-9] *) :? ([0-9] *) "," Selektor " : "source.java"}
Lal
1
Für die Aufzeichnung scheint keine der folgenden Antworten etwas Komplizierteres zu unterstützen als ein grundlegendes Hallo-Welt-Programm. Jedes Programm, das externe Importe hat und das Setzen CLASSPATHund / oder Übergeben des cpSchalters für das Projekt erfordert, funktioniert nicht. Sie müssten entweder das Build-System jedes Mal ändern, wenn Sie an einem anderen Projekt arbeiten möchten, oder eine andere Lösung finden (nur ein masochistischer Soziopath würde die CLASSPATHVariable jedes Mal auf Betriebssystemebene ändern ).
Synetech

Antworten:

77

Das habe ich also zur JavaC.sublime-Build-Datei hinzugefügt

{
    "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"
        }
    ]
}

Dies führt dazu, dass Varianten des regulären Build-Befehls ( ctrl+b) erstellt werden. Mit ctrl+ können bSie Ihren Code weiterhin kompilieren. Wenn Sie shift+ ctrl+ tun, wird bdie erste Variante ausgeführt, in diesem Fall javac mit der Option -Xlint. Die zweite und letzte Variante ist der Java-Befehl selbst. Sie können dies als Ihre erste Variante platzieren und shift+ ctrl+ bführt den Java-Code tatsächlich aus.

Beachten Sie auch, dass jede Variante als "Name" gilt. Dies ermöglicht grundsätzlich, dass diese spezielle "Build" -Option in der shift+ ctrl+ pOption angezeigt wird. Wenn Sie diese Konfiguration verwenden, können Sie einfach shift+ ctrl+ ausführen pund "Java enterausführen " eingeben und drücken , und Ihr Code wird ausgeführt.

Hoffe das hat geholfen.

Vijay
quelle
10
Wenn Sie zum Ausführen Strg + Umschalt + B verwenden möchten, ändern Sie das Feld "Name" in "Ausführen".
Mtyurt
4
Dies hat sich für ST3 geändert: * Ersetze "cmd" durch shell_cmd * entferne die Klammern * setze den gesamten Befehl in eine Zeichenfolge
Dagoth Ulen
1
+1 Wie in den ST-Build-System-Dokumenten angegeben , müssen die Build-Befehle nicht unbedingt eine Datei kompilieren, sondern können alles ausführen, einschließlich des kompilierten Programms. Daher ist diese Antwort der richtige Weg, um Java aus ST (2) ohne Verwendung der Eingabeaufforderung zu kompilieren und auszuführen . (Tatsächlich hat TextPad eine ähnliche Fähigkeit, beliebige Programme zu definieren und auszuführen, und verfügt über eine integrierte Unterstützung für Java, mit der Sie einen Hotkey zum Kompilieren und einen anderen zum Ausführen binden können.)
Synetech
danke dafür hat funktioniert. und danke @mtyurt, geändert Run Javazu Runund jetzt auf ctrl+shift+bausführendes Programm drücken .
Nishant Bhakta
Und wo kann man *.sublime-buildDatei finden ?
Aditya Gupta
19

Ich finde die Methode im Beitrag Kompilieren und Ausführen von Java-Programmen mit Sublime Text 2 funktioniert gut und ist etwas praktischer als die anderen Methoden. Hier ist ein Link zur archivierten Seite.

Für Windows:

Schritt 1:

Erstellen Sie runJava.batmit dem folgenden Code.

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

Kopieren Sie diese Datei in das Verzeichnis jdk bin.

Schritt 2:

  1. Öffnen Sie das Sublime-Paketverzeichnis über Einstellungen> Pakete durchsuchen.
  2. Gehen Sie zum Java-Ordner
  3. Öffnen Sie JavaC.sublime-build und ersetzen Sie die Zeile
    "cmd": ["javac", "$file"],
    durch
    "cmd": ["runJava.bat", "$file"],

Getan!

Programme schreiben und ausführen mit CTRL + B

Hinweis : Die Anweisungen für Sublime 3 sind unterschiedlich.

vancexu
quelle
15

Sublime Text 3 hat eine etwas andere Lösung. Dies ist eine Modifikation von Vijays Antwort, die ich zuvor verwendet habe.

 {
     "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}\""
          }
     ]
 }

Fügen Sie das Obige in eine neue Datei mit dem Namen ein JavaC.sublime-buildund fügen Sie es in Ihre Benutzerpakete ein. Dies kann in gefunden werden C:\Users\You\AppData\Roaming\Sublime Text 3\Packages\User.

Strg-B wird kompiliert. Strg-Umschalt-B wird ausgeführt.

Rokit
quelle
2
Gut gemacht. Dies funktioniert auch unter Linux, obwohl ich die zusätzlichen doppelten Anführungszeichen und das führende Escape-Symbol nicht zu benötigen schien. = :). Aber es funktioniert. Vielen Dank.
NYCeyes
8

Diese Version von JavaC.sublime-build, die aus der Antwort von vijay heraus bearbeitet wurde, funktioniert für mich sowohl unter Windows 7 als auch unter Mac for Sublime Text 3.

Ich habe es so bearbeitet, dass Strg + b oder Befehl + b für beide Builds + Runs ausreichen.

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

'&&' stellt sicher, dass der zweite Teil nur ausgeführt wird, wenn der erste Teil erfolgreich ist, dh nur, wenn die Klassendatei generiert wird. Weitere Informationen finden Sie hier: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true

Alex Yao
quelle
1
Diese Lösung funktioniert auch für erhabenen Text 2, wenn der shell_cmddurch ersetzt wird cmd. Dies ist die einzige Lösung, die für mich funktioniert hat. Danke dir.
Andritchi Alexei
6

Ich verwende Windows 7. Die folgende Lösung funktioniert für mich!

**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
 }

Denken Sie daran, "C: \ Programme \ Java \ jdk1.6.0 \ bin \" durch den Pfad zu ersetzen, in dem Sie Ihr jdk ablegen. Und stellen Sie sicher, dass Sie den Pfad Ihres Java-JDK zur Umgebungsvariablen "PATH" hinzufügen. Informationen zum Einrichten der Umgebungsvariablen finden Sie im Beitrag von bunnyDrug. Beste!!

Sam003
quelle
6

Kompilieren und Ausführen gemäß Dokumentation des erhabenen Textes 2. 3

Schritt 1: Legen Sie Umgebungsvariablen für Java fest, wie Sie bereits wissen, oder verweisen Sie irgendwo darauf

strp-2: Öffnen Sie das neue Dokument und kopieren Sie den Einfügecode unten

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

Schritt 3: Speichern Sie das Dokument als userjavaC.sublime-build im Verzeichnis C: \ Users \ myLapi \ AppData \ Roaming \ Sublime Text 3 \ Packages \ User

Schritt 4:

Nachdem Sie fertig sind, wählen Sie als Tools-> Build Systems-> UserjavaC

Zum Kompilieren und Ausführen drücken Sie Strg + b

saroj
quelle
3

Weitere Informationen finden Sie unter: http://www.compilr.org/compile-and-run-java-programs/

Hoffe, das löst sich, sowohl für das Kompilieren als auch für das Ausführen der Klassen innerhalb von sublime ..... Sie können mein Skript im Kommentarbereich sehen, um es im Falle eines Mac auszuprobieren ...

EDIT: Leider ist der obige Link jetzt defekt. Es wurden alle Schritte aufgeführt, die zum Kompilieren und Ausführen von Java in erhabenem Text erforderlich sind. Auf jeden Fall sollte für Mac- oder Linux-Systeme Folgendes funktionieren:

Ändern Sie die Datei javac.sublime-build in:


#!/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

Hier habe ich einen Ordner mit dem Namen "Java" auf dem Desktop erstellt und die Unterordner "Klassen" und "Code" zum Verwalten der .class- bzw. .java-Dateien, die Sie auf Ihre eigene Weise ändern können.

Bhavesh Agarwal
quelle
Der Link ist defekt, was hat er gesagt?
NinMonkey
2

Wie hier beschrieben:

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

Schritte, die ich unternommen habe, um Abhilfe zu schaffen

  1. Klicken Sie auf Start

  2. Klicken Sie mit der rechten Maustaste auf "Computer".

2.5 Klicken Sie auf Eigenschaften.

  1. Wählen Sie auf der linken Seite 'Erweiterte Systemeinstellungen'.

  2. Klicken Sie unten auf "Umgebungsvariablen".

  3. Scrollen Sie auf "Systemvariablen" nach unten, bis Sie "PFAD" finden - klicken Sie auf "Bearbeiten", wenn diese Option ausgewählt ist.

  4. Fügen Sie den Pfad zu Ihrem Java-Bin-Ordner hinzu. Meins sieht am Ende so aus:

    CODE: ALLE AUSWÄHLEN

    ; C: \ Programme \ Java \ jdk1.7.0_03 \ bin \

jgritty
quelle
das funktioniert nicht, ich klicke auf start, klicke mit der rechten Maustaste auf Computer und ich bekomme nichts, nur ein einziges Menü, nicht doppelt ... und ich habe die Tutorials von thenewbostons befolgt, also habe ich bereits das PATH-Zeug gemacht
tolluy
2

Für Sublime Text 3
unter "C: \ Programme \ Sublime Text 3 \ Packages" erhalten Sie java.sublime-package. Kopieren Sie es in einen anderen Ordner. Ändern Sie die Erweiterung von .sublime-package in zip und extrahieren Sie es. Sie erhalten JavaC.sublime-build Datei für Ihre Änderungen wie oben.
Nach allen Änderungen wird der extrahierte Java-Ordner erneut in .zip konvertiert und die Erweiterung .zip in .sublime-package geändert. Kopieren Sie anschließend diese Datei und fügen Sie sie in C: \ Programme \ Sublime Text 3 \ Packages ein.
das wird dir helfen!

(Sogar Sie erhalten meine Datei von http://upfile.mobi/363820 oder http://www.4shared.com/file/73SkzY-Kba/Java.html Link, den ich verwende, um Java-Code auszuführen. Ich verwende den Trick von "Wesley Baugh" "Sie müssen also die Datei runJava.bat in das Verzeichnis C: \ Programme (x86) \ Java \ jdk1.8.0 \ bin kopieren, wie er sagt, und die oben verknüpfte Datei nach C: \ Programme \ Sublime Text 3 \ Packages kopieren )

Bhushan Balu Sahane
quelle
2

Sie können Ihren Code vollständig in ST kompilieren und ausführen, und das ist sehr schnell / einfach. Es gibt ein neues ST-Paket namens Javatar, das dies kann. https://javatar.readthedocs.org

Keng
quelle
2

Dies ist Code zum Kompilieren und Ausführen von Java in erhabenem Text 3

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

Yesid Torres
quelle
1

Ich bin einem Beitrag in diesem Thread gefolgt und habe ihn perfekt zum Laufen gebracht:

Erstellen Sie die Fledermausdatei wie folgt und speichern Sie sie an einer beliebigen Stelle in Ihrem Pfad. Ich schlage C: \ Programme \ Java \ jdk * \ bin \ vor, um alles zusammenzuhalten.

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

Bearbeiten Sie dann C: \ Benutzer \ Ihr_Benutzername \ AppData \ Roaming \ Sublime Text 2 \ Pakete \ Java \ JavaC.sublime-build. Der Inhalt wird angezeigt

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

Ersetzen Sie "javac" durch den Namen Ihrer bat-Datei (z. B. javacexec.bat) und speichern Sie diese.

Zinan Xing
quelle
1

Wenn Sie die folgenden Schritte ausführen, haben Sie 2 Build-Systeme in sublime - "JavaC" und "JavaC_Input".

Mit "JavaC" können Sie Code ausführen, für den keine Benutzereingaben erforderlich sind, und die Ergebnisse im Terminalsimulator von sublime anzeigen, der praktisch und ansprechend ist. Mit "JavaC_Input" können Sie Code ausführen, für den Benutzereingaben in einem separaten Terminalfenster erforderlich sind. Es können Benutzereingaben akzeptiert werden. Sie können in diesem Build-System auch Code ausführen, für den keine Eingabe erforderlich ist. Wenn Ihnen das Popup nichts ausmacht, können Sie sich einfach an dieses Build-System halten und nicht wechseln. Sie wechseln zwischen Tools -> Tools -> Build-System. Und Sie kompilieren und führen Code mit Strg + b aus.

Hier sind die Schritte, um dies zu erreichen:

(Hinweis: Stellen Sie sicher, dass Sie bereits über die Grundeinstellungen des Java-Systems verfügen: Installieren Sie JDK und richten Sie den richtigen CLASSPATH und PATH ein. Ich werde darauf nicht näher eingehen.)

"JavaC" Build System Setup

1. Erstellen Sie eine Bat-Datei mit dem folgenden Code und speichern Sie sie unter C: \ Programme \ Java \ jdk * \ bin \, um alles zusammenzuhalten. Nennen Sie die Datei "javacexec.bat".

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

2, dann bearbeiten Sie C: \ Benutzer \ Ihr_Benutzername \ AppData \ Roaming \ Sublime Text 2 \ Pakete \ Java \ JavaC.sublime-Build (falls es keine gibt, erstellen Sie eine), der Inhalt wird sein

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

Setup des Build-Systems "JavaC_Input"

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

2 Gehen Sie zu C: \ Benutzer \ Ihr_Benutzername \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ und erstellen Sie eine Datei mit dem Namen "JavaC_Input.sublime-build" mit dem folgenden Inhalt

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

3, Erstellen Sie eine Bat-Datei mit dem folgenden Code und speichern Sie sie unter C: \ Programme \ Java \ jdk * \ bin \, um alles zusammenzuhalten. Nennen Sie die Datei "javacexec_input.bat".

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1
Mathew Gillroy
quelle
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"
    }
   ]
}

Speichern Sie diesen großartigen Build und führen Sie das Programm mit Strg + Umschalt + B mit der Ausführungsvariante aus. Ohne Ausführungsvariante wird nur eine .class-Datei erstellt, aber nicht ausgeführt.

Dieser Build liest die Eingabe aus input.txt und druckt die Ausgabe in output.txt.

Hinweis : Sowohl input.txt als auch output.txt müssen sich im selben Arbeitsverzeichnis wie Ihre Java-Datei befinden.

akhil
quelle
0

Stellen Sie sicher, dass Sie zuerst JDK / JRE installieren.

Wenn Sie ein Mac-Benutzer sind, gehen Sie folgendermaßen vor:

Öffnen Sie das Terminal. Gehen Sie zu Ihrem Root-Wörterbuch, indem Sie Folgendes eingeben

cd ..

wiederholt. verwenden

ls

um zu sehen, ob du die Wurzel erreicht hast

Sie sehen den Bibliotheksordner. Folgen Sie nun diesem Pfad. Bibliothek / Java / JVM / bin Sobald Sie in bin angekommen sind, können Sie die JavaC-Datei sehen

Jetzt müssen Sie den Pfad dieses Ordners abrufen, um diesen Befehl zu schreiben

pwd

Kopieren Sie es, fügen Sie es in Ihre erhabene JavaC-Datei ein und erstellen Sie Java-Code in erhaben von cmd + b.

nimish parikh
quelle
0

Die Antwort von Alex Yao ist die einfachste Lösung. Wenn Sie nur ein Java-Programm erstellen und ausführen möchten, ohne Eingaben von der Konsole zu übernehmen, verwenden Sie die von Alex Yao bereitgestellte Lösung . Wenn Sie jedoch Eingaben von der Konsole übernehmen möchten, klicken Sie auf den folgenden Link

Java-Konsoleneingabe in Sublime Text 2?

Mohit Dasariya
quelle
0

Dies ist meine mit erhabenem Text 3. Ich brauchte die Option, um die Eingabeaufforderung in einem neuen Fenster zu öffnen. Die Java-Kompilierung wird mit der -XlintOption verwendet, vollständige Nachrichten für Warnungen in Java zu aktivieren.

Ich habe die Datei in meinem Benutzerpaketordner als Java (Build) .sublime-build gespeichert

{
     "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
quelle
0

Das Build System JavaC funktioniert wie ein Zauber, schlägt jedoch fehl, wenn Sie Eingaben von stdin in Sublime-Text geben möchten. Sie können das Build-System jedoch so bearbeiten, dass es Eingaben vom Benutzer erhält. Dies ist der modifizierte JavaC-Build, den ich unter Ubuntu 18.04 LTS verwende. Sie können das Build-System bearbeiten oder ein neues Build-System erstellen.

So erstellen Sie ein neues Build-System.

  • Gehen Sie zu Tools >> Build System >> New Build System .
  • Kopieren Fügen Sie den folgenden Code und die Datei >> Speichern ein .

    {

    "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"
        }
    
    ]    

    }}

So bearbeiten Sie die vorhandene Java C-Builddatei

Raghav
quelle
0

So habe ich es mit diesen einfachen Schritten gemacht:

Richten Sie ein neues Build-System ein:

  1. Extras> Build-System> Neues Build-System

  2. Ersetzen Sie den Standardcode durch Folgendes:

    {
       "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. Speichern Sie die Datei, indem Sie ihr einen Namen geben (ich habe meine "Java" genannt)

Aktivieren Sie das Build-System:

  1. Extras> System erstellen> Java (Name der Datei, mit der Sie sie gespeichert haben)
  2. Führen Sie nun Ihr Programm mit Strg + B aus
Ahtisham
quelle