8

JavaファイルをコンパイルするSublimeText2でビルドシステムを作成し、それを新しいターミナル(OS XまたはLinuxの場合)またはコマンドプロンプト(Windowsの場合)ウィンドウで実行したいと思います。

これは、Sublime Text 2ではユーザーが何も入力できないため、入力が必要なプログラムは、次のようにSublimeText2内で実行するとエラーを吐き出すためです。

これは私が現在持っているものです(私はバッチファイルも試しました)が、新しいシェルではなく、Sublime Text2内で実行されます:

これは可能ですか?もしそうなら、ステップバイステップで(私はSublime Text 2の初心者です)、それを行う方法を説明してください。私はすでにSublimeText2フォーラムに投稿しようとしましたが、今のところ運がありません。言葉では言い表せないほどありがたいです。御時間ありがとうございます!

4

3 に答える 3

9

これが、この作業を行うために私が行ったことの「丁寧な」(読み:短くて読みやすい)バージョンです。

  • これは出発点にすぎません。Full implはブログ投稿であり、回答ではありません。
  • 想定:OS X、xterm、パッケージ階層なしなど。
  • パッケージ/プロジェクトのものは比較的簡単ですが、IMOは厄介です。
  • クロスOSであるか、奇妙なディレクトリを考慮に入れる完全なソリューションはありません。
  • 私の実際のバージョンは、世界の他の地域では機能するかもしれないし、機能しないかもしれないいくつかの仮定をしています。
  • 私の実際のバージョンでは、AntまたはMavenを使用しています。これにより、すべてではありませんが、多くの問題が解決されます。
  • この一部はsublime-buildファイルにまとめることができますが…
  • …私にとっては、ここに示されていない他のものがあるため、この方法の方が簡単です。

一言で言えば(簡略化):新しいウィンドウを取得するために、シェルスクリプトをコンパイルして実行します。

脚本

cd $1
/usr/bin/javac $2
/usr/X11/bin/xterm -e "/bin/bash -c \"/usr/bin/java $3; echo 'Press ENTER to quit...'; read line\""

JavaC.sublime-ビルド

{
  "cmd": ["~/bin/run-java.sh $file_path $file $file_base_name"],
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "path": "/usr/bin/java",
  "selector": "source.java",
  "shell": true
}

実生活では、それはもう少し複雑です。

とはいえ、Java本体のコンソール入力では実際には何もしません。私はGroovyまたはJRubyREPLを介してそれを行うか、入力/出力ソース/宛先のスタブを許可します。または…しかしJavaではなく、SublimeText2からではありません。Java開発にIDEを使用します。それ以外のものは、短い実験的なものであっても、私の時間の無駄です。

于 2012-09-06T00:58:29.923 に答える
1

これらの長い方法をすべて使用する必要はありませんでした。大きなプロジェクトには向いていません。ビルドシステムの例は

{
    "cmd": ["javac '$realpath$file' && java $file_base_name && rm *.class"],
    "selector": "source.java",
    "shell": true,
    "variants": [

        {
            "name": "JavaDoc",
            "cmd": ["mkdir documentation && javadoc -d documentation *.java"]
        },

        {
            "name": "JAR",
            "cmd": ["javac '$realpath$file' && echo \"Main-Class: $file_base_name\" > Manifest.txt && jar cfm $file_base_name.jar Manifest.txt *.class && rm *.class && java -jar $file_base_name.jar"]
        },


    ]
}

これはLinuxで動作し、GithubのJava、sublime-buildでダウンロードできます。

興味深いのは、ファイルをJARにコンパイルすることです。コンパイル後にクラスを削除して、物事をすっきりさせ、JavaDocの生成もサポートします。

唯一の制限は、コンパイル時にユーザー入力または引数を受け入れることができないことです。ターミナルで手動で行う必要があります。

于 2015-10-13T00:06:38.383 に答える
0

これはあなたを助けるかもしれませんが、それは現時点ではLinuxでのみ機能します、私はまだWindowsバージョンで作業しています。崇高なテキスト2および3でJavaを実行するためのbashスクリプトを作成しました。このスクリプトを使用すると、パッケージ階層を使用できますが、必須ではありません。

次のリンクを使用してgithubにダウンロードできます:https ://github.com/dannyvantol/JPack

引数を渡したい場合は、パッケージ管理を使用して崇高なテキスト用のGLUEをインストールする必要があります。

LinuxバージョンがCygwinをインストールしたWindowsで動作するかどうかはわかりませんが、試すことができます。

使用方法を知るために必要なすべての情報は、githubにもあります。これがお役に立てば幸いです

于 2016-03-04T18:34:03.997 に答える