2017-01-06 6 views
0

私はターミナルで以下のコードを実行しています。すべてはOKだった。しかし、私はそれをshファイルから実行します。私はあなたが正しいパスを使用する必要がありますエラーNoClassDefFoundErrorがshファイルNoClassDefFoundError

cd /opt/MyClass 
java -classpath ./dist/MyClass.jar MyClass 

マイディレクトリSturcture

- opt 
- - MyClass 
- - - dist 
- - - - MyClass.jar 
- - - myShFile.sh 
+0

あなたはクラスが 'MyClass.jar'内にあることを確認しましたか? 'jar tf MyClass.jar | grep MyClass' – SubOptimal

+0

あなたのコマンドを入力します。この "MyClass.class"が表示されます。 FYI。私はターミナルライン上で実行するとき..それはすべてOKだった..しかし、SHファイル..それは@SubOptimalすることはできません – Kasnady

答えて

0

私はそれを解決したと思います。

FIRST 私は私が成功した後、この

java -version 

SECOND を入れて、私は本当にそう.SHファイル してJavaを実行できるかどうかをチェックしてみました、私は-cp-classpathを変更しようとしました

java -cp dist/MyClass.jar MyClass あなたの助けの人たちのためのの結論

java -version 
java -cp dist/MyClass.jar MyClass 

おかげで

0

を得ました。または絶対パスを使用することができます

+0

私は/opt/dist/MyClass/dist/MyClass.jarを試してみて、それは願っていませんでした – Kasnady

+0

変更あなたの最初の行は になります。cd/opt/dist/MyClass –

+0

私は試しましたが、あまりにも悪い..まだできません – Kasnady