[解決済み] Eclipse IDE における java.io.Console のサポート
質問
私は、Eclipse IDE を使用して、Java プロジェクトを開発、コンパイル、および実行しています。今日、私は
java.io.Console
クラスを使用して、出力と、さらに重要なことですが、ユーザーの入力を管理しようとしています。
問題なのは
System.console()
が返す
null
アプリケーションをEclipseで実行した場合、quot;through" となります。Eclipse は、私たちがよく知っているコンソール ウィンドウのあるトップレベルのプロセスではなく、バックグラウンド プロセスでプログラムを実行します。
トップレベルのプロセスとしてプログラムを実行するようにEclipseを強制する方法、あるいは少なくともJVMが認識するコンソールを作成する方法はありますか?さもなければ、私はプロジェクトを jar でアップロードし、Eclipse の外部のコマンドライン環境で実行することを余儀なくされます。
どのように解決するのですか?
Eclipseからステップスルーデバッグを利用できるようにしたいとのことですが、どのようにすればよいのでしょうか。ビルドしたクラスをJREのクラスパスのbinディレクトリに設定することで、外部からクラスを実行すればよいのです。
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
リモートデバッガを使用し、プロジェクトに組み込まれたクラスファイルを活用してデバッグすることができます。
この例では、Eclipseのプロジェクト構造は次のようになります。
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. デバッグモードでJVMコンソールを起動する
debug.bat から外部で実行されるべき Windows のバッチファイルです。 cmd.exe コンソールから実行されます。
@ECHO OFF
SET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
引数で、デバッグポートを 8787 . また suspend=y 引数は、デバッガがアタッチされるまで待つように JVM に指示します。
2. デバッグ起動コンフィギュレーションの作成
Eclipseで、Debugダイアログを開き(Run > Open Debug Dialog...)、新しい リモートJavaアプリケーション を作成し、以下の設定を行います。
- プロジェクト あなたのプロジェクト名
- 接続タイプ。 標準 (ソケット接続)
- ホスト ローカルホスト
- ポート 8787
3. デバッギング
つまり、アプリのデバッグをしたいときにいつでもできるのは
- ブレーク ポイントを設定する
- コンソールでバッチ ファイルを起動する
- デバッグ設定を起動する
この問題を追跡するには バグ 122429 . アプリケーションでこの問題を回避するには、次のように抽象化レイヤーを使用します。 ここで .
関連
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] Eclipseを高速化する方法とは?
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
-
[解決済み] Eclipse IDEに「Find in project...」という機能は存在しますか?
-
[解決済み] Eclipse/Javaのコード補完が機能しない
-
[解決済み] Eclipse IDE for Java - フルダークテーマ
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
無効なメソッド宣言
-
Javaジェネリックを1つの記事で
-
配列定数は初期化子でのみ使用可能です。
-
Java基礎編 - オブジェクト指向
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題