Sublime Text 2 Build-System zum Kompilieren und Ausführen von Java in einem neuen Terminal / Eingabeaufforderungsfenster?

8

Ich möchte in Sublime Text 2 ein Build-System erstellen, das eine Java-Datei kompiliert und dann in einem neuen Terminal (für OS X oder Linux) oder einer Eingabeaufforderung (für Windows) ausführt ) Fenster.

Der Grund dafür ist, dass Sublime Text 2 Benutzern keine Eingabe erlaubt, so dass alle Programme, die Eingaben benötigen, einen Fehler ausgeben, wenn sie innerhalb von Sublime Text 2 laufen:

Dies ist, was ich derzeit habe (ich habe auch eine Batch-Datei versucht), aber es läuft einfach in Sublime Text 2, im Gegensatz zu einer neuen Shell:

Ist das möglich? Wenn ja, bitte erklären Sie Schritt für Schritt (ich bin ein Anfänger bei Sublime Text 2), wie es geht; Ich habe bereits versucht, auf den Sublime Text 2 Foren zu posten, und bisher kein Glück! Ich wäre unaussprechlich dankbar. Danke für deine Zeit!

    
Seth 05.09.2012, 23:18
quelle

3 Antworten

9

Hier ist die "höfliche" (lese: kurze und lesbare) Version von dem, was ich getan habe, damit das funktioniert.

  • Dies ist nur ein Anfangspunkt. Full impl ist ein Blogbeitrag, keine Antwort.
  • Angenommen: OS X, xterm, keine Pakethierarchie, usw.
  • Paket / Projekt Zeug ist relativ geradlinig, aber IMO peinlich.
  • Ich habe keine vollständige Lösung, die über das Betriebssystem läuft oder seltsame Verzeichnisse berücksichtigt.
  • Meine echte Version enthält einige Annahmen, die für den Rest der Welt funktionieren könnten oder nicht.
  • Meine echte Version verwendet Ant oder Maven, die viele Probleme löst, aber nicht alle.
  • Einige davon können in der Datei sublime-build enthalten sein, aber ...
  • ... für mich ist es einfacher, weil andere Sachen hier nicht gezeigt werden.

Nutshell (Vereinfachung): Kompilieren und durchlaufen Sie ein Shell-Skript, um ein neues Fenster zu erhalten.

Skript

%Vor%

JavaC-Build

%Vor%

Im wirklichen Leben ist es ein bisschen komplexer.

All das gesagt, ich mache nie wirklich etwas mit der Konsoleneingabe in Java. Ich mache es entweder über eine Groovy oder JRuby REPL, oder erlaube Stubbing von Eingabe / Ausgabe Quellen / Destinationen, oder ... aber nicht in Java, und nicht von Sublime Text 2-Ich benutze eine IDE für Java Entwicklung. Alles andere ist eine Verschwendung meiner Zeit, selbst für kurze, experimentelle Sachen.

    
Dave Newton 06.09.2012, 00:58
quelle
1

Ich musste nicht alle diese langen Methoden verwenden. Nun, nicht für große Projekte. Ein Beispiel Build-System ist

%Vor%

Dies funktioniert für mich unter Linux und kann auf Github unter Java, sublime-build

heruntergeladen werden

Das Interessante ist, dass es auch Dateien in JAR kompiliert. Entfernen Sie die Klassen nach dem Kompilieren, um die Dinge zu verbessern, und es unterstützt auch das Erstellen von JavaDocs.

Die einzige Einschränkung besteht darin, dass Benutzereingaben oder Argumente zur Kompilierzeit nicht akzeptiert werden können. Sie müssten das manuell im Terminal machen.

    
Tushortz 13.10.2015 00:06
quelle
0

Das könnte Ihnen helfen, aber es funktioniert momentan nur für Linux, ich arbeite immer noch an einer Windows-Version. Ich habe ein Bash-Skript zum Ausführen von Java in Sublime Text 2 und 3 gemacht. Dieses Skript ermöglicht es Ihnen, Pakethierarchie zu verwenden, ist aber nicht erforderlich.

Es kann auf Github mit diesem Link heruntergeladen werden: Ссылка

Wenn Sie Argumente übergeben möchten, müssen Sie GLUE für erhabenen Text mit Paketverwaltung installieren.

Ich weiß nicht, ob die Linux-Version auf Windows mit Cygwin installieren funktioniert, aber Sie können es versuchen.

Alle Informationen, die Sie benötigen, um sie zu benutzen, finden Sie auch auf github. Ich hoffe, das war hilfreich für dich

    
Danny van Tol 04.03.2016 18:34
quelle