最近、Sublime Text 3を知り、その中でJavaを実行しようとしました。
パッケージJava.sublime-packageのJavaC.sublime-buildを変更しました。
JavaC.sublime-ビルド:
{
"cmd": ["runJava.sh", "$file_base_name"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Java"
}
以下のようなシェルスクリプト(runJava.sh)があり、Java binフォルダーに入れます。
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 binフォルダー:
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin
ただし、Javaファイルを作成すると、次のようなエラーメッセージが表示されます..。
[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]
RunJava.shが正しい場所(Java binフォルダー)にあるため、このメッセージが表示された理由がわかりません。
この問題の理由は何ですか?
これは、エディターを使用してパッケージファイルを直接変更することは想定されていないためです。ユーザーに警告する拡張子がないにもかかわらず、これらはZipファイルです。
プラグインを変更するには、/ Packagesに移動し、Java.sublime-packageファイルを解凍する必要があります。 Linux構文を使用しますが、手順は同じです。
cd <sublime-text3-folder>/Packages
mkdir Java
cp Java.sublime-packages Java
cd Java
unzip Java.sublime-packages
次に、エディターを使用してJavaC.sublime-buildを変更し、次の行を追加します(最後の行の後の余分なコンマを忘れないでください)
{
"Shell_cmd": "javac \"$file\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Java",
"variants":
[
{
"name": "Run",
"Shell_cmd": "Java $file_base_name"
}
]
}
Java.sublime-packageのコンテンツを再度圧縮し、次の方法でPackageフォルダーに戻します。
Zip Java.sublime-package * cp Java.sublime-package ..//Packages
Sublimeを再起動し、Ctrl + Bを使用してプロジェクトをビルドすると、Ctrl + Mayus + Bで実行できるようになります。
簡単なステップバイステップ:
インストール パッケージコントロール まだインストールしていない場合
Package Controlを使用して、インストール Package Resource Viewer
Package Controlを開き、prv
と入力して、PackageResourceViewer: Open Resource
を実行します。
Java
を選択します
JavaC.sublime-build
を選択します
ビルドJSON定義を以下のコードブロックに正確に置き換えます
完了です。 ctrl+b
は、Javaファイルをコンパイルして実行する必要があります。
JSON定義を作成します。
{
"cmd": ["javac \"$file_name\" && Java \"$file_base_name\""],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Java",
"Shell": true
}
ステップバイステップを提供せずに同じことを言うような多くの解決策がそこにあります。 Mac'16でのSublime Text 3での私の経験は次のとおりです。
ターミナルウィンドウを開き、次の手順を実行します。
$ cd/Applications/Sublime\Text.app/Contents/MacOS/Packages/
混乱させる一時ディレクトリを作成しました。
$ mkdir Java
現在のJava.sublime-packageを新しいJavaディレクトリとcdにコピーしますからJavaへ。
$ cp Java.sublime-package Java /
$ cd Java
次に、パッケージを解凍して内容を確認します。
$ unzipJava.sublime-パッケージ
ここで、ビルドファイルJavaC.sublime-buildを編集します。崇高なテキストのコマンドラインスクリプトがある場合:
$ subl JavaC.sublime-build
さもないと、
$ vi JavaC.sublime-build
次に、以下をJavaC.sublime-buildにコピーしました。これは、 Sean Mullen によって投稿されました。
{
"cmd": ["javac \"$file_name\" && Java \"$file_base_name\""],
"Shell": true,
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Java"
}
その後、保存し、Javaディレクトリ内で次のように入力します。
$ ZipJava.sublime-パッケージ*
新しいビルドパッケージを必要なフォルダー(親ディレクトリ)に移動します。
$ mv Java.sublime-package ../
更新:4/18/18:申し訳ありませんが、この回答を調整するのに時間がかかりました。 @bumbuからのコメントに基づいて、一時ディレクトリを削除する前に次のコマンドを実行する必要があります。
$ cd ..
一時Javaディレクトリを削除します。
$ rm -fr Java /
そして完了。 Javaファイルをビルドすると、それも実行しようとします。プログラムを実行するために別の「バリアント」を実行する代わりに、この動作を好みます。
私はこのように私のものを変更しました
実行するには、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"
}
]
}
Sublime Text 3では、tools-> Build System-> New Build Systemをクリックし、 Sean Mullen)から以下を貼り付けるだけです。 :
{
"cmd": ["javac \"$file_name\" && Java \"$file_base_name\""],
"Shell": true,
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Java"
}
次に、それをJava_run.sublime-buildとして保存します
それでおしまい! tools-> Build Systemをもう一度クリックすると、Java_runが表示されます。これを選択して、ビルドを試みてください、Javaファイルは自動的にコンパイルおよび実行されます。
エラーメッセージに示されているように、/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin
はSublimeのパスにありません。これを回避するには2つの方法があります。 1つ目は、runJava.sh
を/usr/bin
に移動するか、そこにシンボリックリンクを作成することです。 2つ目は、JavaC.sublime-build
ファイルを次のように変更することです。
{
"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"
}
これにより、ビルドシステムの実行時にJava bin
フォルダーがSublimeのPATH
に追加され、runJava.sh
を見つけることができるようになります。"Shell": true
を追加すると、bashを介してコマンドが実行されます。これにより、他の環境変数を取得できるようになります。