WindowsでSBTプロセスにストリームを書き込めません

Chenyu

私は現在、AntビューのようにEclipseでSBTタスクを実行するためのグラフィカルインターフェイスを提供するSBTEclipseプラグインに取り組んでいます。

一般的に言って、私は新しいSBTプロセスを開始し、それOutputStreamをEclipseコンソールビューにリダイレクトし、InputStreamタスクを実行するためにそのプロセスに書き込むことによってこれを行います。

ProcessBuilder processBuilder = new ProcessBuilder("java",
        "-Xms1024m", "-Xmx1024m",
        "-XX:ReservedCodeCacheSize=128m",
        "-Dsbt.log.noformat=true", "-XX:MaxPermSize=256m",
        "-jar", getSbtLaunchPath()).directory(new File(path));
processBuilder.environment().put("JAVA_HOME", getJavaHome());
Process sbtProcess = processBuilder.start();
final InputStream inStream = sbtProcess.getInputStream();
(new thread to write the inputStream to eclipse console view)

OutputStream outStream = sbtProcess.getOutputStream();  
PrintWriter pWriter = new PrintWriter(outStream);   //the writer to write command to SBT process

このように、compileタスクを実行したい場合は、次のようにします。

pWriter.println("compile")

Macではすべてがうまく機能します。しかし、WindowsでテストするとPrintWriter、想定どおりにSBTプロセスに書き込むことができません。

この問題について、私が確信しているのは次のとおりです。

  • SBTプロセスが実行されます。
  • PrintWriter 同じ状況下で小さなJavaエコープログラムプロセスに書き込むことができます。つまり、SBTプロセスは通常のJavaプロセスと一部異なる場合があります。

私が疑うのはそれです:

  • Windowsにはエンコードの不一致の問題があり、SBTプロセスが行末記号を認識できないため、SBTはそれがコマンド入力であることを認識しません。
  • SBTの貢献者は、Windowsシステムでいくつかの魔法のトリックを行い、Macで同じことをうまく機能させることはWindowsでは機能しません。

だから、皆さんに聞いてみる時が来たと思います。この問題についてどう思いますか?私は何かが恋しいですか?

Chenyu

問題は、SBTが使用するjlineライブラリにあります。

私は-Djline.terminal=jline.UnsupportedTerminalJavaオプションに渡すことでこの問題を解決しました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JSONを書き込めませんでした:LOBストリームにアクセスできません

分類Dev

SparkスクリプトでSparkデータセットをHBaseに書き込めません

分類Dev

マルチプロセッシング-リストをcsvに書き込めません(TypeError: 'ApplyResult'オブジェクトは反復できません)

分類Dev

XML-22003 :(エラー)出力ストリームに書き込めません

分類Dev

スクリプトはsystemdジャーナルに書き込めません

分類Dev

リストからcsvpythonに値を書き込めません

分類Dev

Python:TypeError:バイナリストリームにUnicodeを書き込めません

分類Dev

フォームの値をスプレッドシートに書き込めません

分類Dev

C#プロセススレッドは出力を書き込めません

分類Dev

Tensorflowスカラーサマリーをイベントログに書き込めません

分類Dev

ストリーミングに大量のデータを書き込めませんでした

分類Dev

データを書き込むために Beanshell スクリプトを使用して DB に HTTPS 呼び出しを行うことができません

分類Dev

寄木細工の流しにストリームを書き込むことができません

分類Dev

プロセスがどのディレクトリに書き込んでいるかを調べますか?

分類Dev

プロセスはエラーストリームと入力ストリームの両方に書き込むことができますか?

分類Dev

RestClientException:リクエストを書き込めませんでした:リクエストタイプに適したHttpMessageConverterが見つかりません

分類Dev

スクリプトはヘッダーをcsvに書き込みません

分類Dev

Googleスプレッドシートに書き込めません((400)不正なリクエスト)

分類Dev

カスタム辞書データをplistファイルに書き込めませんでした

分類Dev

Dockerで自己署名SSLリバースプロキシを設定すると、Laravelプロジェクトにアセットを読み込めません

分類Dev

Web API Core 3.1 ExceptionHandlerミドルウェアは、HttpContext.Responseへの書き込み中に「閉じたストリームに書き込めません」をスローします

分類Dev

Pythonプログラムでデータベースに書き込むことができません

分類Dev

UpdateListItemsは、「閉じたストリームにアクセスできません」をスローします。

分類Dev

VBA:セル値をテキストファイルに書き込めませんでした

分類Dev

ユーザースペースプログラムからデバイスファイルにデータを書き込むことはできません

分類Dev

AndroidアプリはFirebaseデータベースにデータを書き込めません

分類Dev

スナップを使用してインストールされたUtilsは.bashrcに書き込めません

分類Dev

H2-「挿入後」トリガーでデータベースに書き込めません

分類Dev

hadoop fs -textファイルは「テキスト:出力ストリームに書き込めません」を返します。

Related 関連記事

  1. 1

    JSONを書き込めませんでした:LOBストリームにアクセスできません

  2. 2

    SparkスクリプトでSparkデータセットをHBaseに書き込めません

  3. 3

    マルチプロセッシング-リストをcsvに書き込めません(TypeError: 'ApplyResult'オブジェクトは反復できません)

  4. 4

    XML-22003 :(エラー)出力ストリームに書き込めません

  5. 5

    スクリプトはsystemdジャーナルに書き込めません

  6. 6

    リストからcsvpythonに値を書き込めません

  7. 7

    Python:TypeError:バイナリストリームにUnicodeを書き込めません

  8. 8

    フォームの値をスプレッドシートに書き込めません

  9. 9

    C#プロセススレッドは出力を書き込めません

  10. 10

    Tensorflowスカラーサマリーをイベントログに書き込めません

  11. 11

    ストリーミングに大量のデータを書き込めませんでした

  12. 12

    データを書き込むために Beanshell スクリプトを使用して DB に HTTPS 呼び出しを行うことができません

  13. 13

    寄木細工の流しにストリームを書き込むことができません

  14. 14

    プロセスがどのディレクトリに書き込んでいるかを調べますか?

  15. 15

    プロセスはエラーストリームと入力ストリームの両方に書き込むことができますか?

  16. 16

    RestClientException:リクエストを書き込めませんでした:リクエストタイプに適したHttpMessageConverterが見つかりません

  17. 17

    スクリプトはヘッダーをcsvに書き込みません

  18. 18

    Googleスプレッドシートに書き込めません((400)不正なリクエスト)

  19. 19

    カスタム辞書データをplistファイルに書き込めませんでした

  20. 20

    Dockerで自己署名SSLリバースプロキシを設定すると、Laravelプロジェクトにアセットを読み込めません

  21. 21

    Web API Core 3.1 ExceptionHandlerミドルウェアは、HttpContext.Responseへの書き込み中に「閉じたストリームに書き込めません」をスローします

  22. 22

    Pythonプログラムでデータベースに書き込むことができません

  23. 23

    UpdateListItemsは、「閉じたストリームにアクセスできません」をスローします。

  24. 24

    VBA:セル値をテキストファイルに書き込めませんでした

  25. 25

    ユーザースペースプログラムからデバイスファイルにデータを書き込むことはできません

  26. 26

    AndroidアプリはFirebaseデータベースにデータを書き込めません

  27. 27

    スナップを使用してインストールされたUtilsは.bashrcに書き込めません

  28. 28

    H2-「挿入後」トリガーでデータベースに書き込めません

  29. 29

    hadoop fs -textファイルは「テキスト:出力ストリームに書き込めません」を返します。

ホットタグ

アーカイブ