※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプトファイルからjavaを実行したい)
シェルスクリプトファイルからJavaを実行する方法
このQ&Aのポイント
シェルスクリプトファイルからJavaを実行したいが上手くいかない
shファイルの1行目に「#!/bin/sh」や「#!/bin/bash」を入れても挙動が変わらない
Javaコマンドを実行する際に-cpや-classpath引数を指定しても挙動が変わらない
シェルスクリプトファイル(拡張子が.shのファイル)からJavaを実行したいのですが上手くいきません。
コマンドラインで直接
cd javaのファイルが置いてあるディレクトリへのフルパス
を実行した後
java 実行するクラス名 引数
とすると上手く動きます。
上記2行をshファイルにコピペしてみましたが、エラーになり動きません。
エラーは
: No such file or directory cdをしている行とcdで移動しようとしているディレクトリパス
Exception in thread "main" java.lang.NoClassDefFoundError: 実行するクラス
shファイルの1行目に
#!/bin/sh
や
#!/bin/bash
を入れてみましたが、どちらも挙動が変わりません。(エラーのまま)
shファイルはUTF-8を文字コードにして改行はLFのみです。
また、javaコマンドを実行するとき -cp や -classpath 引数でjavaのファイルが有るディレクトリを指定してみましたが挙動が変わりません。
shの実行はコマンドラインから
sh shファイル(絶対パスで)
source shファイル(絶対パスで)
でやってみましたが駄目でした。
javaのファイルが有るディレクトリに対してパスを貼ってみましたが挙動が変わりません。
コマンドラインからコピペしてshファイルを作っていますので、フォルダ名等のつづりミスの可能性は低いと思います。
何か設定が足りないのでしょうか?
よろしくお願いいたします。