私はLinux環境に非常に慣れていません。
単純なhello worldを実行しようとしていますJava Linux環境でクラスです。
package com.util;
public class Hello {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hi");
}
}
Windows環境でJavaクラスをコンパイルし、.classファイルをLinuxシステムの/ home/scriptsパスにアップロードしました。
私のコマンドは次のとおりです、
Java -cp /home/scripts com.util.Hello
hello.classがある同じ/ home/scriptsからこのコマンドを実行すると、
エラー:メインクラスcom.util.Helloが見つからないか、ロードできなかったため、先に進むことができませんでした。
誰かがこの問題で私を助けることができますか?
ターミナルを使用して/ home/scriptsに移動します
javac com/util/Hello.Java
その後
cd /home/scripts
Java -cp . com.util.Hello
または、
Java -cp "/home/scripts" com.util.Hello
最初に、.classファイルを生成する必要があります。
javac ./hello.Java
このコマンドでhello.classファイルが生成されました。クラスファイルを実行できます。 :)
Javaこんにちは
反対票
クラスが存在する現在の作業ディレクトリでプログラムを実行する場合。
Javaには3つのオプションがあります。
最初のオプション
Java -cpテスター
現在の作業ディレクトリの2番目のオプション
Java -cp。テスター
3番目のオプションはCLASSPATH変数をエクスポートします
cLASSPATH = $ CLASSPATH:をエクスポートします。 (これは、ディレクトリが変更された場合に最適です)または
エクスポートCLASSPATH = $ PWD
または
エクスポートCLASSPATH =
その後、bashrcまたはbashprofileをソーシングする必要があります。
Windowsでもまったく同じ問題が発生しました。パス "。"を追加することで解決しました。 CLASSPATHとPATHの両方に、Linuxでもこれを試すことができます。
最初にjavacコマンドがうまく機能することを知っています。
私もこのエラーに遭遇し、これを解決しました。これを共有しましょう。
最初に、Javaコードでパッケージの親パスを見つける必要があります。
次に、Javaパッケージ+ fileNameを使用してそのパスにcdします。その時点でうまく機能するはずです。
.class
ファイルは/home/scripts/
ではなく/home/scripts/com/util/
に置く必要があります。クラスパス、パッケージ、ディレクトリの関係を説明する このドキュメント を見てください。
パスを指定する前に、次の3つを注意深く実行するようにしてください。1。コマンドプロンプトウィンドウを閉じます、パスを指定します。パスを追加するとき、ビンとセミコロンを最後に追加しますおよび3. JAVACコマンドが正しく機能している場合は、Javaを試してください- cpクラス名。