質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Sublime Text

SublimeTextとは、オーストラリアのSublime HQ Pty Ltdが提供しているテキストエディターのことです。Mac/Windows/Linuxでの利用が可能で、柔軟にカスタマイズできたり、多くの言語に対応していくこともあり、海外や日本国内でも人気のあるエディターです。

Q&A

解決済

2回答

6928閲覧

SublimeText3でコンソールイメージが出力されない

Shichimiya

総合スコア11

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Sublime Text

SublimeTextとは、オーストラリアのSublime HQ Pty Ltdが提供しているテキストエディターのことです。Mac/Windows/Linuxでの利用が可能で、柔軟にカスタマイズできたり、多くの言語に対応していくこともあり、海外や日本国内でも人気のあるエディターです。

0グッド

0クリップ

投稿2017/05/20 02:42

###前提・実現したいこと
SublimeText3内でビルドして結果を表示させたい。
コンソールイメージを出力したいです。

###発生している問題・エラーメッセージ
sublimetext3のテキストエディタを使ってJavaのプログラムを
ビルドさせようとしたのですが、Finished in 0.0s with exit code 1と
出て、ビルド自体はできているようです。しかしコンソールイメージが出力できません。

###該当のソースコード
public class HelloWorld
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}

###試したこと
日本語化、Javaのビルドも可能にして、ひたすらビルドしていますが
ビルドが終了するだけで結果が表示されません。

###補足情報(言語/FW/ツール等のバージョンなど)
https://www.sublimetext.com/3
上記のサイトより、Windows64ビットVerをダウンロード

恐れ入りますがご回答よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Sublime Text 3に付属しているものやパッケージコントロールで入れたものを問わず、言語ファイルに付属のbuild-systemファイルは実行ファイルのパスが違ってたり日本語(特にWindows)だと文字コードがあわずに表示出来なかったりと使い勝手が良くないので、環境にあわせて自前でビルドシステムを用意するのが良いです

[ツール] > [ビルドシステム] > [ビルドシステム追加]を選択するとuntitled.sublime-buildが開くので、下記のような感じでビルドシステムを作成して保存します

[ビルドして実行]でコマンドパレットが開くので[Java - ビルドして実行]を選択
これで以降は[ビルド]で実行結果がビルド結果パネルに表示されるようになります

Sublime TextにBuild Systemを追加するより

json

1{ 2 "selector": "source.java", 3 "file_regex": "^(.*?):([0-9]*):?([0-9]*):? (.*)", 4 "shell": true, 5 "cmd": ["javac", "-encoding", "utf-8", "$file_name"], 6 "windows": 7 { 8 "encoding": "cp932" 9 }, 10 11 "variants": 12 [ 13 { 14 "name": "ビルドして実行", 15 "shell": true, 16 "windows": 17 { 18 "encoding": "cp932", 19 "cmd": "javac -encoding utf-8 $file_name & java $file_base_name" 20 } 21 }, 22 23 { 24 "name": "ターミナルで開く", 25 "shell": true, 26 "windows": 27 { 28 "cmd": ["start", "cmd", "/c", "javac -encoding utf-8 $file_name & java $file_base_name & pause"] 29 } 30 } 31 ] 32}

なお、このビルドシステムファイルはWindows専用なので、他のOSでは書き換える必要があります。

補足:Sublime Text 3のビルド結果パネルは文字の出力は出来ますが入力は出来ないので、その場合はターミナルを開いて実行する必要があります。

投稿2017/05/20 03:12

編集2017/05/20 03:42
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shichimiya

2017/06/30 07:13

返信が遅くなって申し訳ありません。lunateaさんのご指摘通りに実行すると、表示がしっかりされました。また、実行する際もターミナル上と二通りの実行方法を選べるようになり、とても使いやすくなりました。本当にありがとうございました。
guest

0

lunateaさんのコメントが参考になるので自分もビルドシステムを設定してみました。

なお、自分の環境では標準でもTools>Build with...とするとAntとJavaCは入っており、JavaCを選ぶとコンパイルだけはできるようですが実行まではできませんでした。
lunateaさんの方法を使うとTools>Build with...で「Java - ビルドして実行」「Java - ターミナルで開く」がメニューに追加され実行までできるようになりました。


注意点をいくつか。

  • パス設定

JDKのパスが設定されていないと多分動かないと思います。確認する一番簡単な方法はWindowsのコマンドプロンプトを開いて、以下の2つのコマンドでそれぞれバージョンが正しく表示されればOKです。
javac -version
java -version
万一期待通り表示してくれない場合はパスの設定の必要があります。方法については「Windows javac パス設定」で検索すると出てきますが、このページなどを参考にどうぞ。

  • ビルド設定ファイルの格納場所

lunateaさんが挙げておられるqiitaのページおよびlunateaさんが示しておられる設定ファイルはどこにセーブすればいいか自分はよくわかりませんでしたが、とりあえず以下へセーブすると動きました。
C:\Users\ユーザー名\AppData\Roaming\Sublime Text 3\Packages\User\java.subime-build

  • コンパイル失敗時の動作

ビルド設定用ファイルの中身ですが、コンパイルに失敗した場合でもプログラムが実行される場合があります。javacはコンパイルが失敗した際にクラスファイルを消してくれません。またコマンドプロンプトでの'&'の機能は左側に書いたコマンド(javac)が失敗(exit codeが0以外)してもお構いなしに右側に書いたコマンド(java)を実行してしまいます。この動作により、コンパイルに失敗した場合に以前正常にコンパイルできたときのクラスファイルを使ってプログラムが動いてしまいます。
普通のJava用のIDEを使っていれば当然ながらコンパイルに失敗すれば実行はされませんので、sublime text3では注意しながら使う必要があります。

  • コンパイル可能なJavaソースファイルの条件

lunateaさんが挙げておられるビルド設定ですと、コンパイルする対象のjavaソースファイルにはpackage指定があってはなりません。つまりデフォルトパッケージとして定義されたファイルしかコンパイルできません。sublime text3では「簡単にjavaソースファイルを書いてエディタ上で気軽にコンパイル&実行」という使い方になると思いますのでこの制限は特に問題にはならないでしょう。
ただ本格的なJavaプログラミングをするならsublime textより普通にeclipse,IntelliJ IDEA,NetbeansなどのIDEを使った方がよいと思います。

投稿2017/05/20 04:18

KSwordOfHaste

総合スコア18392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shichimiya

2017/06/30 07:11

返信が遅くなって申し訳ありません。eclipseも良いのですが、sublimeも軽くて使いやすい為、使い方に慣れておきたかったのでご質問させて頂きました!様々なアドバイスありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問