2013-11-14 63 views
0

我有兩個類Pair.javaUsers.java其中Users.java有主程序。這兩個java文件都在包userdetails下。找不到主類Java

在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 

我收到提示

找不到主類u​​serdetails.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(); 
    } 
} 
+1

後一些代碼專門main方法 –

+0

進口的java.io.File;:無論Pair.javaUser.java應與行開始 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 static void main(String [] args){user} = new Users(); user.createUser(); }} 現在 – user2401464

+1

請編輯您的問題,並把你的代碼的其餘部分有 –

回答

2

當你指定一個類路徑,當前工作目錄不會自動包含了,所以你必須將它添加到類路徑:

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

你說這兩個類都在「userdetails」包中,但是在源代碼開始處沒有包聲明。這裏

package userdetails; 

退房的Java Packages Tutorial