
Webアプリにて下記プラグラムを実行(Tomcat上で実行)したところ以下のような例外が
でました。
cd /home/test/geniatagger-3.0.1 ディレクトリに移動するコマンドで失敗しているようですが
Teraterm上で手入力で実行すると実行できます。
何が原因かわかりますでしょうか。
【例外】
java.io.IOException: Cannot run program "cd /home/test/geniatagger-3.0.1": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:483)
【実行したプログラム】
String[] command = {"cd /home/test/geniatagger-3.0.1", "./geniatagger", "I had a pen."};
Process process = Runtime.getRuntime().exec(command);
//exec()が非同期実行であるため実行結果が返ってくるまで待つ
int no = process.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String str = "";
while (in.ready()) {
str = in.readLine();
System.out.println("segmentate=" + str);
}
in.close();
No.1ベストアンサー
- 回答日時:
より、exec(cmdarry,null,null)相当
→
http://docs.oracle.com/javase/jp/6/api/java/lang …[],%20java.lang.String[],%20java.io.File)
より
> パラメータ:
> cmdarray - 実行するコマンドと引数を含む配列
ということで、
String[] command = {"cd /home/test/geniatagger-3.0.1", "./geniatagger", "I had a pen."};
Process process = Runtime.getRuntime().exec(command);
は
"cd /home/test/geniatagger-3.0.1" というコマンドを
"./geniatagger", "I had a pen."
の2つの引数で実行したものになります。
"cd"コマンドに"/home/test/geniatagger-3.0.1" を引数にしたものではありません。
普通"cd /home/test/geniatagger-3.0.1"なんてコマンドは無いので、No such file or directoryになるでしょう。
2つのコマンドを一つのプロセスで実行させたいなら、シェルに実行させるようにします。
String[] command = {"sh", "-c","cd /home/test/geniatagger-3.0.1 ; ./geniatagger 'I had a pen.'"};
あるいは、geniataggerが実行できればよい(カレントディレクトリが関係無い)なら、
String[] command = {"/home/test/geniatagger-3.0.1/geniatagger", "I had a pen."};
とフルパスでコマンドを指定すればよいかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- Java Java です 途中は省いてますが for(int i = 0; i < 25; i ++) { s 4 2022/05/20 23:36
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jarファイルをバッチで実行させ...
-
windowsのタスクスケジューラを...
-
VBプログラムから「管理者とし...
-
ワイルドカードの*で掛け算する。
-
Tomcatのメモリー使用量が知りたい
-
cmd /c を使ったときと使わなか...
-
ACCESS VBA からエクセルを最小化
-
JAVA実行ができなくなった・・
-
MacOS:ターミナルではNPMのコ...
-
バッチファイルの書き方について
-
CloudSticky.jarが起動しない。
-
windows power shell icacl
-
batよりjava起動
-
コマンドプロンプトが使えない
-
「SimpleEntry を型に解決でき...
-
SYSTEM関数等を用いて複数のコ...
-
Eclipseで、プロジェクト名のと...
-
Eclipseのアンインストールの仕方
-
Eclipse・プロジェクトで、フォ...
-
SVFの設定について:クラスパス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBプログラムから「管理者とし...
-
jarファイルをバッチで実行させ...
-
MacOS:ターミナルではNPMのコ...
-
ACCESSでタイトルバーを非表示...
-
SYSTEM関数等を用いて複数のコ...
-
CloudSticky.jarが起動しない。
-
ShellExecuteの使い方について
-
batよりjava起動
-
windowsのタスクスケジューラを...
-
32bitアプリから64bitアプリの...
-
windows power shell icacl
-
Javaで自分のプロセスIDが取得...
-
実行したらがメモ帳出て来てしまう
-
Java 特定プロセス名前取得方法...
-
Javaプログラムでコマンド実行...
-
コマンドを実行してコマンドラ...
-
C#からバッチファイルを起動で
-
ShellExecuteでDOSコマンド実行...
-
「SimpleEntry を型に解決でき...
-
JBoss(Linux)を自動起動でき...
おすすめ情報