- ベストアンサー
Eclipseでプロジェクトをシェルで実行する方法
- Eclipseで生成したプロジェクトをシェルで実行する方法について説明します。
- シェルで実行する際に起きるエラーとその解決策についても解説します。
- 環境変数やクラスパスの設定による問題も含めて、実行方法の詳細を紹介します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まずはシェルスクリプトを使わずに下記の内容を実行してみてください。 $ cd /~略~/workspace/home/ShellTest/bin $ java shell_and_Java.HelloWorld cdなしでクラスパスを指定して実行するなら下記のようになります。 $ java -cp /~略~/workspace/home/ShellTest/bin shell_and_Java.HelloWorld
その他の回答 (2)
- _kappe_
- ベストアンサー率68% (1581/2304)
>C:\(略)\workspace\home\ShellJavaTest\bin\shell_and_Java>java shell_and_Java.HelloWorld >エラー: メイン・クラスshell_and_Java.HelloWorldが見つからなかったかロードできませんでした これ、カレントディレクトリの指定が間違っています。回答No.2をよく見直して、下記のように実行してください。ShellJavaTest\binの後に\shell_and_Javaをつけてはいけません。 cd C:\略\workspace\home\ShellJavaTest\bin java shell_and_Java.HelloWorld
お礼
ご回答いただきありがとうございます。 かんたんなミスをしてしまい申し訳ありません… 再度試したところ、HelloWorldと表示することができました。 (JREのバージョンがずれていた事でエラーが出ていてプロジェクトを作成しなおしたため、プロジェクト名だけ変わっています。) C:\(略)\workspace\home\ShellTestJava\bin>java shell_and_Java.HelloWorld Hello World 一歩前進する事ができました! あとはシェルから実行できれば問題解決ですが、試してみます。
補足
No2の回答のとおり、 java -cp /~略~/workspace/home/ShellTest/bin shell_and_Java.HelloWorld をシェルスクリプトに記述したらHello Worldと出力する事ができました! 出力結果 (端末固有値)MINGW64 (略)/workspace/home/ShellTestJava/shell $ ./.do-java.sh Hello World
- pringlez
- ベストアンサー率36% (598/1630)
>■do-java.shの内容 >java shell_and_Java.HelloWorld こうではなく、クラスをCドライブからのフルパスで書いてください。これが最初の一歩です。 それができたらクラスパスとは何かを勉強してください。そしてクラスパスが何かわかったら、上記の記述でも動作するようにクラスパスの設定にチャレンジしてみてください。 クラスパスは設定しなくても動きますので、どうしても理解できなければフルパスで指定すればいいと思います。
お礼
ご回答いただきありがとうございます。 いただいた回答の通りにシェルスクリプトの内容を編集したのですが、以下のように同様のエラーが出てしまいました。。 エラー: メイン・クラスC:.Apprication.pleiades-2020-06-java-win-64bit-jre_20200702.pleiades.workspace.home.ShellTest.src.shell_and_Java.HelloWorldが見つからなかったかロードできませんでした また、クラスファイルも指定してみたのですが、同様にエラーが出ました。 $ ./.do-java.sh エラー: メイン・クラスC:.Apprication.pleiades-2020-06-java-win-64bit-jre_20200702.pleiades.workspace.home.ShellTest.bin.shell_and_Java.HelloWorldが見つからなかったかロードできませんでした Eclipseでコンパイルすると、javaファイルとclassファイルが別のディレクトリに作成されますが、それが影響しているのでしょうか? クラスパスはクラスの検索先を設定するものだという認識ですが、シェルで明示していないので、どこを検索しているのか分からないです…
お礼
ご回答いただきありがとうございます。返信遅くなり申し訳ありません。 C:\(略)\workspace\home\ShellJavaTest\bin\shell_and_Java>java shell_and_Java.HelloWorld エラー: メイン・クラスshell_and_Java.HelloWorldが見つからなかったかロードできませんでした やはり、Eclipseで生成するとカレントディレクトリにクラスが生成されないため、エラーが出てしまうようです。 試しにカレントディレクトリにクラスファイルをコピーして以下のように実行したら正常に処理されました。 C:\(略)\workspace\home\ShellJavaTest\src>java shell_and_Java.HelloWorld Hello World (1)Eclipse上でコンパイルするとカレントディレクトリにクラスが作成されない (2)(1)の問題を解消しても、シェルでコマンドを打った場合、ディレクトリを指定していないのでコマンドが正常に処理されない 以上の2点の問題が複合化しているような気がします。 シェルから実行するまで、道のりは遠そうです…