崇高なテキスト2でのJavaコードのコンパイルと実行


80

Sublime Text 2でJavaコードをコンパイルして実行しようとしています。コマンドプロンプトで、手動で実行するように指示しないでください。誰か教えてもらえますか?

ところで、私はWindows7を使用しています...


4
崇高なフォーラムはこれに対する答えを持っているようです:sublimetext.com/forum/viewtopic.php ?f

私はすでにそれらを試しました...私はこれを取得します:[エラー2]システムは指定されたファイルを見つけることができません[終了]
tolluy 2012年

2
その問題はフォーラムの投稿で解決されています。PATHにjavaとjavacを追加する必要があると思います。
madth3 2012年

Windows7のSublimeText3ベータ内で単一のコマンドCtrl + Bを使用して単一のJavaファイルをビルドして実行しようとしただけの場合、「<Sublime Text 3> \ Packages \ Java \ JavaC.sublime」の下に次のように入力します-build "ファイル(作成されたフォルダー/存在しないファイル)が機能しました。必要に応じてJavabinディレクトリを変更します。{"cmd":["javac"、 "$ file_name"、 "&&"、 "java"、 "$ file_base_name"]、 "shell":true、 "path": "C:\\ Program Files(x86)\ \ Java \\ jdk1.8.0_05 \\ bin "、" file_regex ":" ^(... *?):( [0-9] *):?([0-9] *) "、"セレクター " : "source.java"}
Lal

1
ちなみに、以下の回答はいずれも、基本的なhello-worldタイプのプログラムよりも複雑なものをサポートしているようには見えません。外部インポートがあり、プロジェクトCLASSPATHcpスイッチの設定や受け渡しが必要なプログラムは機能しません。別のプロジェクトで作業するたびにビルドシステムを変更するか、他の解決策を見つける必要があります(マゾヒスティックソシオパスのみがCLASSPATH毎回OSレベルで変数を変更します)。
Synetech 2016年

回答:


77

これが私が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"
        }
    ]
}

これは、通常のビルドコマンド(ctrl+b)のバリアントを作成することです。ではctrl+bあなたはまだあなたのコードをコンパイルすることができるようになります。その場合はshift+ ctrl+b最初の変種は、この場合には-Xlintオプション付きのjavacである、実行されます。2番目の最後のバリアントはjavaコマンド自体です。あなたの第一の変形例としてこれを配置することができますし、shift+ ctrl+b実際にJavaのコードを実行します。

また、各バリアントが「名前」であることに注意してください。これは基本的に表示するには、この特定の「ビルド」オプションができますshift+ ctrl+pオプションを選択します。したがって、この構成を使用すると、shift+ ctrl+pを実行し、「Run Java」と入力してenter、を押すだけで、コードが実行されます。

これがお役に立てば幸いです。


10
ctrl + shift + bを使用して実行する場合は、「name」フィールドを「Run」に変更します。
mtyurt 2013年

4
これはST3で変更されました:*「cmd」をshell_cmdに置き換えます*中括弧を削除します*コマンド全体を文字列に入れます
Dagoth Ulen 2014

1
+1 STビルドシステムのドキュメントに記載されているように、ビルドコマンドは必ずしもファイルをコンパイルする必要はなく、コンパイルされたプログラムを含め、何でも実行できます。したがって、この答えは、コマンドプロンプトを使用せずにST(2)からJavaをコンパイルして実行する正しい方法です。(実際、TextPadには、任意のプログラムを定義して実行する同様の機能があり、Javaのサポートが組み込まれているため、1つのホットキーをバインドしてコンパイルし、別のホットキーを実行することができます。)
Synetech 2016年

これがうまくいったことに感謝します。@mtyurtに感謝します。変更さRun JavaRunctrl+shift+b実行中のプログラムを押しています。
Nishant Bhakta 2017

そして、どこで*.sublime-buildファイルを見つけることができますか?
AdityaGupta19年

19

Sublime Text 2を使用したJavaプログラムのコンパイルと実行後のメソッドはうまく機能し、他のメソッドよりも少し便利です。ここでは、アーカイブページへのリンクがあります。

Windowsの場合:

ステップ1:

runJava.bat次のコードで作成します。

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

このファイルをjdkbinディレクトリにコピーします。

ステップ2:

  1. [設定]> [パッケージの参照]を使用してSublimeパッケージディレクトリを開きます。
  2. Javaフォルダに移動します
  3. オープンJavaC.sublimeビルドおよびラインを交換
    "cmd": ["javac", "$file"],
    して
    "cmd": ["runJava.bat", "$file"],

完了!

プログラムを作成し、を使用して実行する CTRL + B

:Sublime3では手順が異なります。


15

Sublime Text3の解決策は少し異なります。これは、以前使用していたvijayの回答を変更したものです。

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

上記をという新しいファイルに貼り付けてJavaC.sublime-build、ユーザーパッケージに入れます。これはにありますC:\Users\You\AppData\Roaming\Sublime Text 3\Packages\User

Ctrl-Bがコンパイルされます。Ctrl-Shift-Bが実行されます。


2
良くやった。これはLinuxでも機能しますが、余分な二重引用符と先頭のエスケープ記号は必要ないようです。= :)。しかし、それは機能します。ありがとう。
NYCeyes 2015

8

vijayの回答から編集されたこのバージョンのJavaC.sublime-buildは、Windows7とMacfor Sublime Text3の両方で機能します。

Ctrl + bまたはcommand + bでビルドと実行の両方に十分になるように編集しました。

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

'&&'は、最初の部分が成功した場合、つまりクラスファイルが生成された場合にのみ2番目の部分が実行されるようにします。詳細については、http//www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr = trueを参照してください。


1
このソリューションは、shell_cmdをに置き換えると、崇高なテキスト2でも機能 しcmdます。これは私のために働いた唯一の解決策です。ありがとうございました。
Andritchi Alexei 2016

7

崇高なテキストのドキュメントに従ってコンパイルして実行する2nd 3

ステップ-1: Javaの環境変数を、uがすでに知っているように設定するか、どこかで参照します

strp-2: 新しいドキュメントを開き、以下のコードをコピーして貼り付けます

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

ステップ-3: ドキュメントをuserjavaC.sublime-buildとしてディレクトリC:\ Users \ myLapi \ AppData \ Roaming \ Sublime Text 3 \ Packages \ Userに保存します

ステップ-4:

完了したら、ツールとして選択->システムのビルド-> userjavaC

コンパイルと実行の両方を行うには、Ctrl + Bキーを押します。


6

私はWindows7を使用しています。以下の解決策は私のために働きます!

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

「C:\ ProgramFiles \ Java \ jdk1.6.0 \ bin \」を、jdkを配置したパスに置き換えることを忘れないでください。また、JavaJDKのパスを環境変数「PATH」に必ず追加してください。環境変数を設定するには、bunnyDrugの投稿を参照してください。ベスト!!


3

http://www.compilr.org/compile-and-run-java-programs/でソリューションを参照して ください。

崇高な範囲内でのクラスのコンパイルと実行の両方について、それが解決することを願っています.....コメントセクションで私のスクリプトを見て、Macの場合に試してみることができます...

編集:残念ながら、上記のリンクは現在壊れています。崇高なテキスト内でJavaをコンパイルして実行するために必要なすべてのステップを詳しく説明しました。とにかく、MacまたはLinuxシステムの場合、以下が機能するはずです。

javac.sublime-buildファイルを次のように変更します。


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

ここでは、デスクトップに「java」という名前のフォルダーを作成し、.classファイルと.javaファイルをそれぞれ維持するためのサブフォルダー「classes」と「code」を作成しました。独自の方法で変更できます。


リンクが壊れています、それは何と言いましたか?
ninMonkey 2013

2

ここで詳しく説明されているように:

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

これを改善するために私が取った手順

  1. [開始]をクリックします

  2. 「コンピュータ」を右クリックします

2.5 [プロパティ]をクリックします。

  1. 左側で[システムの詳細設定]を選択します

  2. 下部の近くにある[環境変数]をクリックします

  3. 「パス」が見つかるまで「システム変数」を下にスクロールします。これを選択して「編集」をクリックします。

  4. Javabinフォルダーへのパスを追加します。鉱山は次のようになります。

    コード:すべて選択

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


このdoesntの仕事は、私は[スタート]ボタンをクリックし、右コンピュータをクリックして、私は何も、1つだけのメニュー、ダブルませんを得るいけない...と私はすでにPATHのものをやったので、私は、thenewbostonsチュートリアル以下の通りであった
tolluy

2

崇高テキスト3の場合
の「C:\プログラムファイル\崇高テキスト3つの\パッケージ」あなたはJavaC.sublimeビルドを入手ジップに.sublimeパッケージから別のフォルダの変更にその拡張子をそれをコピーし、それを抽出java.sublime、パッケージを取得します上記のように変更をファイルします。
すべての変更が抽出された後、Javaフォルダーは再び.zipに変換され、その拡張子.zipが.sublime-packageに変更されます。その後、このファイルをコピーしてC:\ Program Files \ Sublime Text 3 \ Packagesに貼り付けます。
これはあなたを助けます!

(私のファイルはhttp://upfile.mobi/363820またはhttp://www.4shared.com/file/73SkzY-Kba/Java.htmlリンクから取得します。Javaコードの実行に使用します。「WesleyBaugh」のトリックを使用します。 "したがって、runJava.batファイルをC:\ Program Files(x86)\ Java \ jdk1.8.0 \ binディレクトリにコピーし、上記のリンクされたファイルをC:\ Program Files \ Sublime Text 3 \ Packagesにコピーする必要があります。 )


2

コードを完全にSTでコンパイルして実行でき、非常に高速でシンプルです。これを行うことができるJavatarと呼ばれる最近のSTパッケージがあります。 https://javatar.readthedocs.org


2

これは、崇高なテキスト3でJavaをコンパイルして実行するためのコードです。

"shell_cmd": "javac-d。$ file && java $ {file_base_name}。$ {file_base_name}"、 "shell":true


1

このスレッドの投稿をフォローしました完全に機能させました。

次のようにbatファイルを作成し、PATHの任意の場所に保存します。すべてをまとめるために、C:\ Program Files \ Java \ jdk * \ bin \をお勧めします。

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

次に、C:\ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-buildを編集すると、内容は次のようになります。

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

「javac」をbatファイルの名前(たとえば、javacexec.bat)に置き換えて保存します。


1

以下の手順に従うことで、「JavaC」と「JavaC_Input」の2つのビルドシステムが崇高になります。

「JavaC」を使用すると、ユーザー入力を必要としないコードを実行し、その結果をsublimeのターミナルシミュレーターに表示できます。これは便利で見栄えがします。「JavaC_Input」を使用すると、別のターミナルウィンドウでユーザー入力を必要とするコードを実行でき、ユーザー入力を受け入れることができます。このビルドシステムで入力を必要としないコードを実行することもできるため、ポップアップを気にしない場合は、このビルドシステムをそのまま使用して、切り替える必要はありません。ビルドシステムは、[ツール]-> [ビルドシステム]から切り替えます。そして、ctrl + bを使用してコードをコンパイルして実行します。

これを実現するための手順は次のとおりです。

(注:Javaシステムの基本セットアップが既に完了していることを確認してください:JDKをインストールし、正しいCLASSPATHとPATHをセットアップします。これについては詳しく説明しません)

「JavaC」ビルドシステムのセットアップ

1、次のコードでbatファイルを作成し、C:\ Program Files \ Java \ jdk * \ bin \に保存して、すべてをまとめます。ファイルに「javacexec.bat」という名前を付けます。

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

2、次にC:\ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-buildを編集します(存在しない場合は作成します)。内容は次のようになります。

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

「JavaC_Input」ビルドシステムのセットアップ

1、Cygwinをインストールします[ http://www.cygwin.com/]

2、C:\ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \に移動し、次の内容の「JavaC_Input.sublime-build」というファイルを作成します。

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

3、次のコードでbatファイルを作成し、C:\ Program Files \ Java \ jdk * \ bin \に保存して、すべてをまとめます。ファイルに「javacexec_input.bat」という名前を付けます。

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1

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

この崇高なビルドを保存し、ctrl + shift + Bでプログラムを実行します。実行バリアントがないと、.classファイルが作成されますが、実行されません。

このビルドは、input.txtから入力を読み取り、output.txtに出力を出力します。

:input.txtとoutput.txtの両方が、.javaファイルと同じ作業ディレクトリに存在する必要があります。


0

最初にJDK / JREをインストールしてください。

Macユーザーの場合は、次の手順に従ってください。

ターミナルを開いて、次のように入力してルート辞書に移動します

cd ..

繰り返し。使用する

ls

uがルートに到達したかどうかを確認する

Libraryフォルダーが表示されます。次のパスをたどります。Library/ Java / JVM / bin binに入ると、JavaCファイルが表示されます。

このコマンドを書くだけで、このフォルダのパスを取得する必要があります

pwd

それをコピーして崇高なJavaCファイルに貼り付け、cmd + bで崇高なJavaコードを構築します。


0

アレックス・八尾のあなただけのビルドにしたいとコンソールの使用からが提供するソリューション任意の入力を取ってO / W Javaプログラムを実行すると回答は、最も簡単な解決策であるアレックスヤオを。ただし、コンソールから入力を取得する場合は、次のリンクを参照してください

Sublime Text 2のJavaコンソール入力?


0

これは崇高なテキスト3を使用した私のものです。新しいウィンドウでコマンドプロンプトを開くオプションが必要でした。Javaコンパイルはで使用されます-Xlint、Javaの警告に対して完全なメッセージをオンにオプションれます。

ファイルをユーザーパッケージフォルダーに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}\""
          }
     ]
}

0

ビルドシステムJavaCは魅力のように機能しますが、Sublime-textでstdinから入力を提供したい場合は失敗します。ただし、ビルドシステムを編集して、ユーザーからの入力を受け取るようにすることができます。これは、Ubuntu 18.04LTSで使用している変更されたJavaCビルドです。ビルドシステムを編集するか、新しいビルドシステムを作成できます。

新しいビルドシステムを作成します。

  • [ツール] >> [ビルドシステム] >> [新しいビルドシステム]に移動します
  • 以下のコードとファイルをコピーして貼り付け>>保存します

    {{

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

    }

既存のJavaCビルドファイルを編集するには


0

これは私がこれらの簡単なステップでそれをした方法です:

新しいビルドシステムをセットアップします。

  1. ツール>ビルドシステム>新しいビルドシステム

  2. デフォルトのコードを次のように置き換えます。

    {
       "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. 名前を付けてファイルを保存します(私は「Java」という名前を付けました)

ビルドシステムをアクティブ化します。

  1. ツール>ビルドシステム> Java(保存したファイルの名前)
  2. Ctrl + Bでプログラムを実行します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.