2012-02-04 160 views
1

我只是在學習java並遵循一本書。錯誤:無法找到或加載主類Hello2

我有一個程序通過文本編輯器編寫並通過cmd運行命令。

我已經編譯了1個程序,通過javac並通過java執行沒問題。 (你好) 然後我修改了這個,給這個類添加了一個註釋,名爲Hello2.java。我編譯沒有問題,但執行後,我收到此錯誤:無法找到或加載主類Hello2。

我有類路徑和路徑設置正確; y對環境變量。

想法?

UPDATE

Hello.java

public class Hello { 
     public static void main(String[] args) { 
      System.out.println("Hello, world!"); 
     } 
    } 

Hello2.java

//Filename Hello2.java 
//Written by 
//Written on 

public class Hello2 { 
    public static void main(String[] args) { 
     System.out.println("Hello, world!"); 
    } 
} 

/*This class demonstrates the use of the println() method to print the message Hello, world! */ 
+2

難道你也重命名文件裏面的類? – 2012-02-04 10:15:14

+0

在這裏提供你的課程,它會讓每個人都容易。 – 2012-02-04 10:40:52

+0

@ user1152552:我的查詢有任何更新?讓我知道你是否不需要幫助......好嗎? – 2012-02-04 10:59:33

回答

2

我找到了解決我的問題的方法。我知道這不是一個代碼問題。但我所做的是,我從系統變量中刪除了CLASSPATH,現在一切正常......至少現在是這樣。

非常感謝大家的投入,非常感謝!

1

你必須改變公共類的名字太當您更改文件的名稱。所以,如果您的文件名爲Hello2.java,則應該將該類稱爲Hello2而不是Hello

0

我相信你有如下的Hello2.java文件。

class Hello { 
    public static void main (String args[]) { 
    System.out.println("Hello"); 
    } 
} 

將其更改爲

class Hello2 { 
    public static void main (String args[]) { 
    System.out.println("Hello"); 
    } 
} 

的變化是class Hello2而不是class Hello

注意:你應該總是有類名和文件名相同。

祝你好運!!!

更新1

你在做下面的步驟?

  1. 寫Hello.java
  2. 編譯通過的javac Hello.java
  3. 在Java你好
  4. 重命名Hello.java到Hello2.java
  5. 運行
  6. 重命名類的名稱即class Helloclass Hello2
  7. javac Hello2.java
  8. java Hello2

我相信你在步驟5後執行步驟7的步驟6 &請確認。

+0

我已經相應地改變了,並得到了這個錯誤。另外,當我運行java Hello(第一個工作)時,現在不會給我同樣的錯誤.., – ultra99 2012-02-04 10:29:21

+0

更新問題並提供'Hello2.java'和'Hello.java'文件的Java代碼。我需要兩個... – 2012-02-04 10:30:24

+0

...你需要調用'javac'和'java' wuith合適的類名 - 一切都需要一致 – DNA 2012-02-04 10:37:10

0

你確定你正確設置類路徑嗎?你爲什麼不試試運行java -cp .class文件的目錄你好?如果這不起作用,請上傳完整的堆棧跟蹤。

+0

嗨,我從系統中卸載Java並重新安裝它。刪除編譯的java文件redid everything。另外,在變量中做了CLASSPATH和PATH,我仍然得到相同的錯誤。但是,在執行「java -cp.Hello」之後,輸出就起作用了!所以我不知道設置或系統是否有問題,或者每次都必須使用wright -cp命令? – ultra99 2012-02-06 04:25:31

+0

是否像您在運行java -cp時一樣輸入了classpath系統變量? – Ran 2012-02-06 11:20:59

+0

是的。我用這個去了:C:\ mywork> set path =%path%; C:\ Program Files \ Java \ jdk1.5.0_09 \ bin – ultra99 2012-02-06 14:01:15

0

您必須確保將.class文件的位置添加到類路徑中。因此,如果它在當前文件夾中,則將.添加到您的類路徑中。 請注意,Windows類路徑分隔符是一個分號,即;

如果你的類文件保存在下面的目錄與Hello2程序名 d:\sample

  1. java -cp d:\sample Hello2
  2. java -cp . Hello2
相關問題