0

私には2つのクラスがPair.javaあり、メインプログラムはどこにありますか。これらの Java ファイルは両方とも package の下にあります。Users.javaUsers.javauserdetails

UNIXでは、コマンドを使用してコンパイルしました

javac -d . -classpath avro-1.7.5.jar:lib/*:jackson-core-asl-1.9.13.jar:lib/* Pair.java Users.java

クラスはフォルダー userdetails の下にあります。コマンドを使用して実行しようとしました

java  -classpath avro-1.7.5.jar:lib/*:jackson-core-asl-1.9.13.jar:lib/* userdetails.Users

エラーが発生しています

メイン クラスの userdetails.Users が見つかりませんでした

親切に私を助けてください。

ソースコード :-

import java.io.File; 
import java.io.IOException; 
import org.apache.avro.file.DataFileReader; 
import org.apache.avro.file.DataFileWriter; 
import org.apache.avro.io.DatumReader; 
import org.apache.avro.io.DatumWriter; 
import org.apache.avro.specific.SpecificDatumReader; 
import org.apache.avro.specific.SpecificDatumWriter; 
import org.apache.avro.util.Utf8;
public class Users {
 public void createUser() {
            userdetails.Pair datum = new userdetails.Pair(new Utf8("L"), new Utf8("R"));
            DatumWriter writer = new SpecificDatumWriter();
            DataFileWriter fileWriter = new DataFileWriter(writer);



            try {
                    fileWriter.create(datum.getSchema(), new File("users.avro"));
                    fileWriter.append(datum);
                    System.out.println(datum);
                    fileWriter.close();
            } catch (Exception e) {
                    // TODO Auto-generated catch block
                    System.out.println("ERROR");
                    e.printStackTrace();
            }         }

    public static void main(String[] args) {
            Users user = new Users();
            user.createUser();
    }
}
4

2 に答える 2

2

クラスパスを指定すると、現在の作業ディレクトリが自動的に含まれなくなるため、クラスパスに追加する必要があります。

java  -classpath avro-1.7.5.jar:lib/*:jackson-core-asl-1.9.13.jar:lib/*:. userdetails.Users
于 2013-11-14T10:11:47.497 に答える
0

両方のクラスがパッケージ「userdetails」の下にあると言いますが、ソースの先頭にパッケージ宣言がありません。と の両方が次の行で始まる必要がありますPair.javaUser.java

package userdetails;

Java パッケージのチュートリアルを確認してください

于 2013-11-14T10:20:09.203 に答える