問題タブ [apache-commons-exec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
706 参照

java - 対話型コマンド モードでの apache exec の使用

私がする必要があるのは、アプリケーションの対話モードに入り、コマンドの送信を開始することです。アプリケーションはグラフィックスマジックです。バッチ モードでは、mysql の動作と同様の状態になり、コマンドの前にアプリケーションの名前を付けずにコマンドを送信できます。これが私がやったことです:

出力の場合、アプリケーションはバッチ モードに入り、終了します。端末から使用すると、バッチ モードに入り、EOF 文字までユーザーからのコマンドを待ちます。startBatchMode() を呼び出す前にライターにコマンドを追加しようとしましたが、違いはありませんでした。また、物事をかなり動かそうとしましたが、結果は常に同じです。

これを機能させる方法について何か提案はありますか?

アップデート

Java ランタイムを使用すると、これは非常に単純であり、次のように機能します。

exec には、理想的には再実装する必要のない優れた機能がいくつかあるため、引き続き使用したいと考えています。

0 投票する
1 に答える
1299 参照

java - EJB 内部から外部プロセスを呼び出す (およびその出力ストリームを取得する) スレッドセーフな方法

EJB 内からスレッド セーフな方法で外部プロセスを呼び出すにはどうすればよいですか?

javadoc に記載されているように、ProcessBuilder はスレッドセーフではありません。Apache commons exec はスレッドセーフについて何も言っておらず、Runtime.exec にも自信がありません。

適切な方法は何ですか?

人々が私が悪用していると思わないように、いくつかのコードを追加させてください。このコードは機能する場合と機能しない場合があります

この質問を閉じたり、反対票を投じたりしないでください。

スレッドセーフではないことはわかっています。EJB 内から適切に行う方法を知りたいだけです。

0 投票する
1 に答える
210 参照

java - Commons Exec を使用して状況依存の実行を行う

私がやろうとしているのは、後続のコマンドを正常に実行するために必要な準備作業 (環境変数の設定など) を行うバッチ ファイルを実行することです。これを証明するために、Commons Exec を使用するサンプルをまとめました。

ただし、「test」という単語の代わりに空の文字列が出力されます。手がかりはありますか?

0 投票する
0 に答える
111 参照

java - apache commons-exec を使用して複数の値を外部プロセスに送信する際の問題

cisco any connect Mobility Client である外部アプリケーションの使用を自動化する小さなアプリケーションを作成しようとしています。VPN への接続に使用できるコマンド ライン ツールを提供します。

apache commons-exec ライブラリを使用して Java アプリケーションからこのコマンド ライン ツールを実行し、その出力を読み取って必要な情報を送信できるようにしたいと考えています。

すでにネットで検索して、外部アプリケーションとの「通信方法」を見つけましたが、見つけた唯一の投稿は次の記事でした: Apache Commons Exec を使用して複数の入力をコマンドに提供し、「ちょっと見つけたソリューション」ですが、彼がどのようにそれを行ったのかわかりません。

プロセスを開始すると、次のように入力を読み取る関数を実行します。

関数送信メッセージは、スレッドを実行してプロセス入力ストリームに書き込み、それをフラッシュします。

ご覧のとおり、出力をチェックして、それに応じてプロセスにメッセージを送信します (基本的には質問に答えるために)。ただし、「入力してください...」になると、この例外が発生しました

私の問題は、プロセスの出力を読んで、プロセスの内容に応じてメッセージを送信することで、プロセスと「通信」する方法が見つからないことです。

手伝って頂けますか ?

読んでくれてありがとう。

0 投票する
1 に答える
5111 参照

java - 環境変数値でメインクラスを探しているCommons exec

Apache commons exec を使用して Java アプリケーション内からスクリプトを起動しようとすると、次のエラーが発生します。

次のコードの場合:

環境変数を使用してコマンドを実行する代わりに、環境変数の引用符で囲まれた値を分割し、その名前でクラスを探しているように見えるため、エラーがループを引き起こしています。価値があるのは、以下が bash で正常に実行されることです。

その引用された値が空白で分割されている理由、および/または の値でメインクラスを探している理由について、誰かが洞察を提供できますJAVA_OPTSか? 環境マップを正しく使用していますか?

0 投票する
1 に答える
156 参照

java - Commons exec: 起動、子プロセスへの送信、stdin/stdout の読み取り

Apache Commons Execで次のことを達成するにはどうすればよいですか? (この使用例に関するドキュメントはないようです)。

  1. 子プロセスを起動します。
  2. 子プロセスの標準入力に文字列を渡します。
  3. 子プロセスが終了するのを待ちます。
  4. 子プロセスから stdout を文字列として収集します。
0 投票する
1 に答える
411 参照

apache-commons-exec - Apache Commons Exec: 実行可能ファイルが PATH にありません

システム PATH にないプログラムを実行するにはどうすればよいですか (そしてそこに入れたくありません)。例えば。最も簡単な例:

スロー

(同じことが PATH 上のプログラムにも当てはまります。たとえば、"/usr/bin/ls" は同じメッセージで失敗します。)

注: 作業ディレクトリを変更したくありません。